17|模型解剖:探究模型内部到底是什么?
独行
你好,我是独行。
上节课我们手敲了一个 Transformer 模型,实际最终训练出来的模型,参数量大概在 1.2 亿左右,文件大小约 505M,这一节课我们再来探究一个非常有意思的问题:这个 505M 的文件内部到底存放的是什么?
前段时间我们本地运行过 ChatGLM3-6B,你还记得吗?6B 的模型文件分为 8 个,有的版本是 5 个,几个文件加在一起大约 20G,6B 的爷爷 130B 模型文件加起来近 240G。不知道你有没有同样的疑问,在我最早接触大语言模型的时候,就非常好奇,大模型文件里到底存的是什么?随着不断地研究学习,总算有了一知半解,这节课就来和你分享一下。
模型文件
所谓模型文件,也可以叫模型权重,里面大部分空间存放的是模型的参数:权重(Weights)和偏置(Biases),当然也有一些其他信息,比如优化器状态、其他元数据,比如 epoch 数等。我们使用的是 PyTorch 框架,生成的模型权重文件格式是.pth,如果使用 TensorFlow 或者 Hugging Face Transformers 等框架,也有可能是.bin 格式的文件。模型预训练完成后,我们可以调用下面的代码保存模型。
只保存权重
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. 模型文件存放的主要内容是模型的参数:权重和偏置,以及其他信息如优化器状态和元数据。 2. 权重和偏置在神经网络中扮演着重要的角色,权重决定输入数据对输出结果的影响,而偏置用于调整输出。 3. 模型的容量主要由参数量和存储空间组成,而Embedding层在整个模型中占据着重要的地位,既在存储方面也在参数方面都占据着较大比例。 4. Embedding层的矩阵参数表示词向量在特定维度上的权重或特征,这些参数在模型训练过程中会根据损失计算和反向传播进行更新,以更好地表示词语。 5. 模型训练过程包括前向传播、损失计算、反向传播和参数更新,而模型推理则是根据训练好的参数进行前向传播的过程。 6. 机器学习框架如PyTorch可以识别模型文件,并且把模型结构重构出来进行训练和推理。 7. 大型模型的权重文件通常分开存放,需要在使用时进行合并,这种设计可能是为了方便存储和传输,同时也可以灵活地加载和使用不同部分的权重。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 大模型实战高手课》,新⼈⾸单¥59
《AI 大模型实战高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论