最近做了一些大模型方面的研究 ,资料、开源模型源源不断,特此记录及近况更新。
llama
- 大小:7B-130B
- 贡献者:Meta
llama模型是开源的,但需要发送申请,hugging face上有贡献者发布的hf转换模型(作为学术探讨,商业利益相关暂时不论,下文同)。
斯坦福在这之上最先使用了self-instruction生产的52k语料,使用lora技术微调开源了alpaca,据此经验,一系列羊驼模型出现,比如luotuo、驼铃等。这也是我觉得生态比较好的开源模型。
bloom
- 大小:7B-176B
- 贡献者:bigsicence
链家科技基于bloom进行指令微调开源了BELLE,同时也开源了一些中文数据集。
GLM
- 大小:6B-130B
- 贡献者:清华大学
开源了支持中英双语的对话语言模型ChatGLM-6B,以及基底模型GLM
在中文对话和下游应用上,截至3.31是我目前测过效果最好的chat模型。基于chatglm-6B,还有许多人贡献了不少微调及应用代码,比如:
- ChatGLM-Tuning: 基于 LoRA 对 ChatGLM-6B 进行微调。类似的项目还包括 Humanable ChatGLM/GPT Fine-tuning | ChatGLM 微调
- langchain-ChatGLM:基于本地知识的 ChatGLM 应用,基于LangChain
- ChatGLM-Finetuning:基于ChatGLM-6B模型,进行下游具体任务微调,涉及Freeze、Lora、P-tuning等,并进行实验效果对比。
- InstructGLM:基于ChatGLM-6B进行指令学习,汇总开源中英文指令数据,基于Lora进行指令数据微调,开放了Alpaca、Belle微调后的Lora权重,修复web_demo重复问题。
目前笔者参考第一个链接基于lora对chatglm-6b进行微调用于信息抽取任务
- 尝试了单一指令(每个数据集一种prompt),数据量大概是3000+条,NER的验证效果大概在60-80,同时基于微调模型测试原先的通用能力,发现存在历史性遗忘现象,通用能力表现得比原先的版本更差。
- 基于chatgpt以及人工制作了100条不同的信息抽取指令(只做NER),发现抽取效果有略微提升但效果不大(基于十多条的主观测试),但通用能力要比上一个实验好很多,几乎保持和原先版本一样的水平。
- 基于gpt4的52k数据集微调chatglm-6B,发现微调前后变化不大,盲猜一下可能chatglm也用过alpaca翻译的中文语料微调过?
中文tokernize
粗略的按照以下分类统计了三个预训练模型的词表,所以为什么chatglm对中文的支撑效果好,看词表也能略知一二了。
模型 | 英文 | 中文 | 标点 | 其他 | 合计 |
---|---|---|---|---|---|
llama-7b-hf | 24120 | 700 | 1167 | 5990 | 31977 |
BELLE-7B-2M | 89974 | 28585 | 1827 | 130223 | 250609 |
chatglm-6b | 63775 | 61345 | 1469 | 3660 | 130249 |
欢迎交流
- 什么时候中文模型可以多开源几个好用的
- 基于领域迁移、信息抽取方面的经验和交流
- else