Home

Awesome

迷你骆驼:一系列蒸馏指令数据得到的中文语言模型

Code License Data License

<p align="center"> <a href="https://scholar.google.com/citations?user=imroB-8AAAAJ&hl=zh-CN" target="_blank">黄钟健 @ 西安电子科大</a>, <a href="https://github.com/LC1332" target="_blank">李鲁鲁 @ 商汤科技</a></p> <p align="center"> <img src="images/ProjectIcon.png" height="300"> </p> <details> <summary> 黄钟健 训练了本项目的第一个模型 </summary>

李鲁鲁发起了项目,并提出了后续使用feature进行蒸馏的思路。

黄钟健 训练了本项目的第一个模型,并且实现了训练框架

后续如果更多其他的同学训练小模型,我们也会陆续加入到作者列表中

</details>

受到LaMini-LM项目的启发,迷你骆驼是一组小型高效的语言模型,是从ChatGPT蒸馏而来,并使用1500万条指令的大规模数据集进行训练。我们将应用不同模型架构、大小进行训练。并争取在后续评估他们的效果。目前我们已经释放了3.5B的模型。

骆驼嵌入是Luotuo(骆驼)的子项目之一, 后者由李鲁鲁, 冷子昂, 陈启源发起。



快速上手

初步的Colab代码: 3.5B 模型: <a href="https://colab.research.google.com/github/LC1332/Mini-Luotuo/blob/main/3.5B_minimal.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>

312M 模型: <a href="https://colab.research.google.com/github/LC1332/Mini-Luotuo/blob/main/312M_minimal_BertTokenizer.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>

TODO: 实现一个gradio的代码

模型

你可以在下面的表格中,找到迷你骆驼系列模型的下载链接。

<table> <thead> <tr> <th>基模型(预训练)</th> <th colspan="4">迷你骆驼系列(#parameters)</th> </tr> </thead> <tbody> <tr> <td>GPT2(Wenzhong) </td> <td><a href="https://huggingface.co/Midkey/GPT2-110M-chinese-ft-luotuo" target="_blank" rel="noopener noreferrer"> 110M (v0.1) </a></td> <td><a href="https://huggingface.co/Midkey/GPT2-3.5B-chinese-ft-luotuo" target="_blank" rel="noopener noreferrer">Mini-Luotuo-3.5B</a></td> <td></td> </tr> <tr> <td>GPT2(zero_nlp) </td> <td><a href="https://huggingface.co/Midkey/GPT2-312M-chinese-ft-BertTokenizer-luotuo" target="_blank" rel="noopener noreferrer"> 312M(v0.1) </a></td> </tr> </tbody> </table>

数据

我们使用Luotuo项目中的翻译数据以及其他项目提供的数据。具体训练文件名以及所含指令数量如下包含:

Dataset NameInstruction Number
luotuo_all_data.json168886
alpaca_gpt4_data_zh.json48818
coig_data.json165531
baike_all_data_rs150000.json150000
web_text_all_data_rs150000.json150000

后三个数据集参考的PandasLLM的数据集,并进行了重新整理与采样。

我们将会研究数据协议,如果这些子项目的协议允许的话,我们会陆续发布完整或者抽样后的训练集。

训练代码

训练代码使用的Llama-x, 并进行相应的修改。

<a name="sponsorship"></a>

赞助(Sponsorship) 骆驼项目

如果你有兴趣赞助骆驼项目,请点击主项目或者查看赞助表单

If you are interested in sponsoring the Luotuo Project, please click on the major project or view the sponsorship form.

回到开头

引用

如果您在项目中使用了我们的模型、代码或者数据,请引用这个repo。

Please cite the repo if you use the data or code in this repo.

@misc{alpaca,
  author={Jianzhong Huang, Cheng Li},
  title = {Mini-Luotuo: A Diverse Herd of Distilled Chinese Models from Large-Scale Instructions},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/LC1332/Mini-Luotuo}},
}

原来项目的repo

@misc{alpaca,
  author={Ziang Leng, Qiyuan Chen and Cheng Li},
  title = {Luotuo: An Instruction-following Chinese Language model, LoRA tuning on LLaMA},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/LC1332/Luotuo-Chinese-LLM}},
}