2024.6.3工作记录

今天在查看资料的时候发现了某个人写的从零开始预训练模型

最开始以为还需要很大的显存

看了很多人用来很小的模型在发现2 * 4090还是可以的

100%开源大模型OLMo:代码/权重/数据集/训练全过程公开,重定义AI共享 - 掘金 (juejin.cn)

ollama

huggingface模型下载

可以首先

/先不下载大文件

git lfs install

GIT_LFS_SKIP_SMUDGE=1 git clone git clone https://huggingface.co/facebook/
opt-125m
cd opt-125m
git lfs pull --include= "*.bin"

存在的问题

lora微调的两个模型loss值一直不行 

其实还是可以换优化器

模型预训练

《OLMo : Accelerating the Science of Language Models》精华摘译 - 知乎 (zhihu.com)

该团队的数据清洗工具得到了公开通过对于方法也进行了分享

一些链接

中文对话0.2B小模型(ChatLM-Chinese-0.2B),

开源所有数据集来源、数据清洗、tokenizer训练、模型预训练、SFT指令微调、RLHF优化等流程的全部代码。支持下游任务sft微调,给出三元组信息抽取微调示例。

ChatLM-mini-Chinese

使用的是text to text微调  

有单独的数据筛选

ChatLM-mini-Chinese为中文对话小模型,模型参数只有0.2B(算共享权重约210M),可以在最低4GB显存的机器进行预训练(batch_size=1fp16或者 bf16),float16加载、推理最少只需要512MB显存。

  • 公开所有预训练、SFT指令微调、DPO偏好优化数据集来源。
  • 使用HuggingfaceNLP框架,包括transformersacceleratetrlpeft等。
  • 自实现trainer,支持单机单卡、单机多卡进行预训练、SFT微调。训练过程中支持在任意位置停止,及在任意位置继续训练。
  • 预训练:整合为端到端的Text-to-Text预训练,非mask掩码预测预训练。
    • 开源所有数据清洗(如规范化、基于mini_hash的文档去重等)、数据集构造、数据集加载优化等流程;
    • tokenizer多进程词频统计,支持sentencepiecehuggingface tokenizers的tokenizer训练;
    • 预训练支持任意位置断点,可从断点处继续训练;
    • 大数据集(GB级别)流式加载、支持缓冲区数据打乱,不利用内存、硬盘作为缓存,有效减少内存、磁盘占用。配置batch_size=1, max_len=320下,最低支持在16GB内存+4GB显存的机器上进行预训练;
    • 训练日志记录。
  • SFT微调:开源SFT数据集及数据处理过程。
    • 自实现trainer支持prompt指令微调, 支持任意断点继续训练;
    • 支持Huggingface trainersequence to sequence微调;
    • 支持传统的低学习率,只训练decoder层的微调。
  • RLHF偏好优化:使用DPO进行全量偏好优化。
    • 支持使用peft lora进行偏好优化;
    • 支持模型合并,可将Lora adapter合并到原始模型中。
  • 支持下游任务微调:finetune_examples给出三元组信息抽取任务的微调示例,微调后的模型对话能力仍在。

 

Phi2-mini-Chinese

 Phi2-Chinese-0.2B 从0开始训练自己的Phi2中文小模型,支持接入langchain加载本地知识库做检索增强生成RAG。

Mini-Llama2-Chinese

baby-llama2-chinese

从0开始预训练1.4b中文大模型实践 - 知乎 (zhihu.com) 

加大数据量全参数微调

六种数据全取10000条共60000条

一轮需要 6w / (8  * 8)  = 937.5

那 10epoch保存一次checkpoint

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值