自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Czi.的博客

来者是客

  • 博客(61)
  • 收藏
  • 关注

原创 Build a Large Language Model (From Scratch)GPT-4o翻译和代码每行中文注释Ch5

预训练未标记数据本章内容包括In the previous chapters, we implemented the data sampling, attention mechanism and coded the LLM architecture. The core focus of this chapter is to implement a training function and pretrain the LLM, as illustrated in Figure 5.1.在前几章中,我们实现了数

2024-07-23 01:03:39 1657 3

原创 Build a Large Language Model (From Scratch)GPT-4o翻译和代码每行中文注释Ch4

4 从零开始实现GPT模型以生成文本In the previous chapter, you learned and coded the multi-head attention mechanism, one of the core components of LLMs. In this chapter, we will now code the other building blocks of an LLM and assemble them into a GPT-like model that we w

2024-07-21 21:29:16 2456 1

原创 Build a Large Language Model (From Scratch)GPT-4o翻译和代码每行中文注释Ch3

图 3.2 该图描绘了我们将在本章中编码的不同注意机制,从自注意的简化版本开始,然后添加可训练权重。在下一章中,我们将围绕自注意力机制对 LLM 的其余部分进行编码,以查看它的实际效果并创建一个模型来生成文本。然后,解码器采用最终的隐藏状态开始生成翻译的句子,一次一个单词。为了解决我们无法逐字翻译文本的问题,通常使用具有两个子模块的深度神经网络,即所谓的。在本章中,我们将实现注意力机制的四种不同变体,如图 3.2 所示。图3.2中所示的这些不同的注意力变体是相互依赖的,我们的。

2024-04-30 01:32:00 3779 2

原创 Build a Large Language Model (From Scratch)GPT-4o翻译和代码每行中文注释Ch 2

LLM需要将文本数据转换为数值向量,称为嵌入,因为它们无法处理原始文本。嵌入将离散数据(如单词或图像)转换为连续向量空间,使它们与神经网络操作兼容。第一步,将原始文本分解为tokens,这些tokens可以是单词或字符。然后,tokens被转换为整数表示形式,称为token IDs。可以添加特殊tokens(例如和)来增强模型的理解并处理各种上下文,例如未知单词或标记(marking)不相关文本之间的边界。

2024-04-29 21:29:22 4992 4

原创 Build a Large Language Model (From Scratch)GPT-4o翻译和代码每行中文注释Ch 1

LLM 是一种大型语言模型,是一种旨在理解、生成和响应类人文本的神经网络。这些模型是在大量文本数据上训练的深度神经网络,有时涵盖互联网上整个公开文本的大部分。大语言模型中的“大”指的是模型的参数大小和训练它的巨大数据集。像这样的模型通常有数百甚至数千亿个参数,这些参数是网络中的可调整权重,在训练期间进行优化以预测序列中的下一个单词。下一个单词预测是明智的,因为它利用语言固有的顺序性质来训练模型来理解文本中的上下文、结构和关系。

2024-04-16 21:51:16 9068 9

原创 滑动窗口-无重复字符的最长字串-找到字符串中所有字母异位词

max_length 更新保存的结果start 更新最长字串的起始位置char_index_map[char] + 1 重复位置+1作为新的起始位置i - start + 1 最长字串的末尾位置为i(1) = : 新的重复位置在最开始start(2) > : 新的重复位置在max_length中间以s只有一个元素为例子:i = 0。

2024-10-19 01:48:13 710

原创 小顶堆、大顶堆和Top-k问题

【代码】小顶堆和大顶堆。

2024-10-18 21:44:33 265

原创 从零实现llama3(学习)

对于第0层注意力机制,最后要做的事情之一是将其与权重矩阵相乘。我们将使用输出解码器将最终的嵌入转换为一个标记。希望在我们的案例中,答案是42 😃注意:42是书籍《银河系漫游指南》中对“生命、宇宙及一切终极问题的答案”的回答。根据这本书,大多数现代大型语言模型都会在这里回答42,这应该验证我们整个代码的正确性!祝我好运 😃。

2024-10-15 17:27:10 940

原创 InstructGPT的四阶段:预训练、有监督微调、奖励建模、强化学习涉及到的公式解读

奖励模型的训练基于人类反馈,通过比较两个模型生成的回应来进行优化。该训练过程使用了交叉熵损失函数,优化目标是让奖励模型尽可能地预测出哪个回应更符合人类标注员的偏好。通过只选取部分比较对进行训练(而不是所有组合对),减少了计算开销,并有效避免了模型过拟合。在这篇文章中,使用了强化学习中的进行策略优化,同时通过引入KL 散度惩罚项来确保 RL 策略与 SFT 策略不过度偏离。此外,预训练损失通过一个额外的项加入到了目标函数中,以解决在某些 NLP 任务上的性能回退问题。

2024-10-13 02:33:39 1647

原创 手撕SwiGLU和GELU

GELU是一种基于概率的平滑激活函数,适合标准神经网络,尤其在像 BERT 这样的语言模型中有很好的效果。SwiGLU则结合了 Swish 和门控机制,提供了更强的灵活性,适用于更复杂的任务。

2024-10-08 10:29:08 1237

原创 手撕RMSNorm和LayerNorm

【代码】手撕RMSNorm和LayerNorm。

2024-10-08 10:14:07 377

原创 手撕交叉注意力机制

【代码】手撕交叉注意力机制。

2024-10-07 20:28:18 377

原创 手撕多头注意力机制

使用的是因果mask。

2024-10-07 20:15:48 202

原创 手撕注意力机制

【代码】手撕注意力机制。

2024-10-06 21:27:15 162

原创 手撕正弦-余弦位置编码(Sinusoidal Positional Encoding)

通过使用正弦和余弦函数,Transformer 的位置编码可以在不同维度上引入不同的周期变化,这样模型能够感知序列中每个 token 的以及。

2024-10-06 17:31:32 751

原创 Build a Large Language Model (From Scratch)学习汇总

https://github.com/Czi24/Awesome-MLLM-LLM-Colab/tree/master/LLMs-from-scratch-CN-Colab通过网盘分享的文件:Build a Large Language Model (From Scratch).pdf链接: https://pan.baidu.com/s/1BKVbCtaW7BV2my-9_T9xSA?pwd=8vjk 提取码: 8vjk–来自百度网盘超级会员v7的分享md版本:https://blog.csdn.n

2024-09-27 15:52:25 11046 5

原创 numpy手写二分类交叉熵

下面是一个使用NumPy手写二分类交叉熵损失的代码,包括详细注释。我们将定义一个简单的函数来计算交叉熵损失,并使用main函数来演示如何使用它。

2024-09-15 17:38:09 443

原创 torch.matmul和@区别

是 PyTorch 中的通用矩阵乘法函数,适用于从向量到批量矩阵的各种乘法场景。操作符是 Python 的矩阵乘法符号,行为与相同,但更简洁。二者在功能上基本一致,选择哪个取决于代码的风格和偏好。如果你想要书写更简洁的代码,操作符是一个很好的选择;如果你需要在函数或复杂场景中调用矩阵乘法,更为合适。

2024-09-14 00:09:35 793

原创 mlp和线性层的区别

BPE 是一种有效的子词级词元化方法,通过反复合并出现频率最高的字符对来构建子词单元。它能够减少词汇表大小,处理未见过的单词,并提高模型的泛化能力。BPE 被广泛应用于现代 NLP 模型中,是处理文本数据的常用技术。

2024-08-05 01:18:49 908

原创 BPE(Byte-Pair Encoding)

BPE 是一种有效的子词级词元化方法,通过反复合并出现频率最高的字符对来构建子词单元。它能够减少词汇表大小,处理未见过的单词,并提高模型的泛化能力。BPE 被广泛应用于现代 NLP 模型中,是处理文本数据的常用技术。

2024-08-02 10:02:57 622

原创 Cross Attention(XATTN )pytorch实现

XATTN 是 “Cross Attention” 的缩写,表示交叉注意力机制。这是一种在多模态模型中常用的机制,用于在不同模态(例如,视觉和文本)之间建立联系和融合信息。

2024-08-02 10:01:23 2637

原创 LLaVA论文阅读+Colab部署

将大型语言模型(LLMs)通过机器生成的指令跟随数据进行指令调优已被证明可以提高其在新任务上的零样本能力,但这一理念在多模态领域探索较少。我们首次尝试使用仅语言的GPT-4生成多模态语言-图像指令跟随数据。通过对这种生成的数据进行指令调优,我们引入了LLaVA:大语言与视觉助手,一个端到端训练的大型多模态模型,它连接了视觉编码器和LLM,用于通用的视觉和语言理解。为了促进未来关于视觉指令跟随的研究,我们构建了两个包含多样且具有挑战性的应用导向任务的评估基准。我们的实验表明,

2024-07-22 02:59:34 1331 1

原创 LLM101n课程大纲

我们将从基础开始,端到端地构建一切,从头开始使用Python、C和CUDA,并且仅需最少的计算机科学先决条件。到最后,你应该对AI、LLM和深度学习有一个相对深入的理解。在本课程中,我们将构建一个讲故事的AI大型语言模型(LLM)。通过合作,你将能够与AI一起创建、完善和展示小。我不能创造的东西,我就无法理解。

2024-07-19 15:37:51 1272

原创 吴恩达大模型LLM系列课程学习(更新42门课程)

如果这个仓库对你有帮助,请点个star,并私聊我,我将发送给你《Build a Large Language Model (From Scratch)》的电子版,包括GPT-4翻译的全书PDF,方便你做笔记。设置你需要用的翻译软件。

2024-07-19 01:37:36 2412

原创 吴恩达大模型系列课程《Prompt Compression and Query Optimization》中文学习打开方式

吴恩达大模型系列课程《Prompt Compression and Query Optimization》中文学习打开方式

2024-07-17 02:57:29 863

原创 Build a Large Language Model (From Scratch)第七章(终章)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-07-17 01:04:01 1730 5

原创 MiniGPT-4论文阅读+Colab部署

代码:https://github.com/Czi24/Awesome-MLLM-LLM-Colab/blob/master/MLLM/MiniGPT-4-colab/MiniGPT-4.md

2024-07-14 20:10:39 954 1

原创 Build a Large Language Model (From Scratch)附录A(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-07-04 16:25:01 1307

原创 Build a Large Language Model (From Scratch)附录D(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-07-04 16:18:11 829

原创 Build a Large Language Model (From Scratch)附录B(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-07-04 16:15:09 728

原创 Build a Large Language Model (From Scratch)附录C(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-07-04 16:11:23 565

原创 Build a Large Language Model (From Scratch)附录E(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-07-04 16:05:43 916

原创 Build a Large Language Model (From Scratch)第六章(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-06-28 01:27:10 1558

原创 Build a Large Language Model (From Scratch)第二章(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-06-28 01:16:07 2162

原创 Build a Large Language Model (From Scratch)第五章(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-06-28 01:11:47 1088

原创 Build a Large Language Model (From Scratch)第四章(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-06-28 01:06:54 1076

原创 Build a Large Language Model (From Scratch)第三章(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-06-28 01:01:12 1857

原创 Build a Large Language Model (From Scratch)第一章(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?

2024-06-28 00:37:48 4275

原创 Mac 安装Ollama和llama3,本地部署LobeChat和刘皇叔聊三国

按下 Ctrl + D 可以退出终端交互,但此时模型并不会退出,仍旧可以正常通过 Api 接口交互。可以看到LobeChat运行在本地3210端口,浏览器打开。默认的LobeChat没有Czi模型,我们需要添加一下~运行之后,项目默认监听 11434 端口,终端查看。配置好了,可以跟刘皇叔在LobeChat中聊天啦!接下里是本地部署LobeChat,实现网页的交互。简单api交互例子,新打开一个终端,输入。创建刘备的个人聊天助手,新的模型我命名为。运行成功,可以在终端聊天了.如果是70B模型,可以参考。

2024-04-20 18:59:04 4980

原创 mac m3 安装homebrew 一行代码搞定

转载:https://zhuanlan.zhihu.com/p/111014448。

2024-04-12 11:16:44 1551

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除