oken
机器学习 | 从0开发大模型—译llama3-from-scratch
最近在看一篇Github上大佬的文章,从0开始训练llama3,觉得对于《从0开发大模型》有点帮助,于是翻译一下,发现其中很多内容当前系列文章的知识点相似。 原文::、Tokenizer原始代码没有实现tokenizer,而是使用llama3的 tokenizer.model,实现代码如下:这里用了字节对编码(BPE),和我们训练的tokenzier使用的方式一样。 2、读取模型文件将模型文件下载到 Meta-Llama-3-8B 文件夹中,然后读取模型文件,代码如下:其中输出的配置看:n_layers=32:表示该模型有32个Transformer层n_heads=32:表示每个Transformer层有32个注意力头vobac_size=128256:表示词汇表大小为1282563、文本转换为token使用 tiktoken(openai的库)作为 tokenizer,实现如下:llama3-scratch其中,128000是 |begin_of_text| 的token,还包括如下特殊token:4、将token转换为embedding将上面的 token 通过 embedding 层,[17X1] 转换为 [17X4096],即 17 个 embeding(每个token一个),长度为 4096。
- 1