/Luotuo-Chinese-LLM

骆驼(Luotuo): Open Sourced Chinese Language Models. Developed by 陈启源 @ 华中师范大学 & 李鲁鲁 @ 商汤科技 & 冷子昂 @ 商汤科技

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

English | 中文 | 快速上手 | 赞助 | 赞助 | 人员和贡献 | 相关项目 | 骆驼读论文

骆驼(Luotuo): 开源中文大语言模型

骆驼(Luotuo)项目是由冷子昂 @ 商汤科技, 陈启源 @ 华中师范大学 以及 李鲁鲁 @ 商汤科技 发起的中文大语言模型开源项目,包含了一系列语言模型。

( 注意: 陈启源 正在寻找2024推免导师,欢迎联系 )

骆驼项目不是商汤科技的官方产品。

我们将项目命名为 骆驼 Luotuo (Camel) 主要是因为,Meta之前的项目LLaMA(驼马)和斯坦福之前的项目alpaca(羊驼)都属于偶蹄目-骆驼科(Artiodactyla-Camelidae)。而且骆驼科只有三个属,再不起这名字就来不及了。

项目重要更新 [ ... ]

[2023-05-06] 升级了数据集批量翻译的脚本 Open In Colab

子项目一览

骆驼QA

Contributor 1
骆驼QA: Better Conversational Question Answering Model with Answer Completion
骆驼嵌入

Contributor 2
骆驼嵌入: Generative Text Embedding Model distilled from OpenAI API
骆驼先知
Contributor 2
骆驼先知是模仿纪伯伦的《先知》进行哲学讨论。 这个项目包含了Andrew Ng吴恩达Prompt工程的笔记
Vanilla 骆驼
Contributor 2
骆驼: An Instruction-following Chinese Language model, LoRA tuning on LLaMA
骆驼RPG

LuotuoRPG是斯坦福Generative Agents的中文版本尝试。
丫丫-MOSS

丫丫是基于复旦MOSS的LoRA训练代码
骆驼大乱斗
骆驼大乱斗正在构建之中...
骆驼大乱斗: Generating Massive Content for a Text-based Fighting Game
骆驼CLIP
骆驼CLIP正在构建之中...
骆驼CLIP: Aligning Existed CLIP model with Multiple Prior Leveraged

项目重要更新 [ ... ]

[2023-05-06] 学习了Andrew Ng的Prompt工程课程,骆驼先知, 第一课的colab链接 Open In Colab

[2023-04-27] 尝试翻译了一下斯坦福25个Agents生成的Generative Agents的工作。代码仓库,colab链接 Open In Colab

[2023-4-16] 骆驼嵌入 代码已经发布,可以用这个colab链接体验 Open In Colab 可支持文本可视化,聚类,模糊搜索等应用

[2023-3-27] 我们计划训练一个Chat哈利波特, 我们仅仅完成了初步的实验并实现了0.1版本的模型, 不过模型的效果不及我们的预期, 可以查看这份报告, 我们想寻找一个 哈利波特的狂热粉丝同时又是高质量的Python程序员 来参与到项目中,可以联系我们。

快速上手

Colab链接 细节
骆驼先知 Open In Colab 骆驼先知的Gradio交互版本
骆驼QA Open In Colab 骆驼QA的0.1模型,基于一段给定文本做问答
骆驼嵌入(小) Open In Colab LuotuoBERT 文本可视化 聚类 搜索
驼铃C 文本摘要 Open In Colab 基于GLM-6B的文本摘要模型
批量翻译 Open In Colab 利用GPT接口对数据集进行批量翻译
骆驼RPG Open In Colab 一个斯坦福35个Agents生成的中文版
驼铃B Chat哈利波特 - Chat哈利波特的初步汇报
驼铃A Open In Colab 通过80条语料给GLM-6B简易洗脑
骆驼0.3 Open In Colab 骆驼0.3的验证代码
骆驼说 Open In Colab 一个用Gradio写的交互对话
骆驼说(GLM) Open In Colab 中文文本摘要的Gradio交互界面

项目概览

我们强烈建议首先先在Colab测试我们的代码,再考虑本地部署。

Luotuo-Embedding

骆驼嵌入是一个文本嵌入模型,可以将长文本转化为1536维的向量,支持文本可视化、搜索、聚类、内容审核等下游业务。

骆驼嵌入是我们从OpenAI蒸馏特征得到的BERT的文本嵌入模型。Open In Colab

Luotuo-Vanilla

如果你希望模型在中文上有更好的表现,建议使用 CamelBell(驼铃), 这个项目在中文基模型Chat-GLM-6B的基础上继续使用中文语料进行训练。

在驼铃-B(CamelBell-B)中我们将训练一个Chat哈利波特

CamelBell-B的输出样例 (点我)
Instruction: 斯内普和伏地魔之间是什么关系?
Answer: 斯内普和伏地魔之间是非常复杂的关系。伏地魔是斯内普的雇主,他利用斯内普来执行他的计划。斯内普一开始是斯莱特林的学生,但他后来加入了伏地魔的阵营,成为了他的追随者。斯内普和伏地魔之间的关系非常紧张,他们互相对抗,但也有一些共同的利益。

CamelBell-C (驼铃-C)是一个中文文本摘要模型 Open In Colab

CamelBell-C的输出样例 (点我)
Instruction: 请帮我总结以下内容:
Input: 
北京时间2月13日凌晨,2023年ATP250达拉斯站男单决赛。**球员吴易昺先输一盘后挽救4个赛点并兑现第5个冠军点,最终以6(4)-7/7-6(3)/7-6(12)逆转惊险击败赛会5号种子、美国大炮伊斯内尔,就此改写历史,成为公开赛年代首位夺得ATP巡回赛男单冠军的**大陆球员,并创造**大陆球员的男单最高排名!

第一盘比赛,吴易昺在第12局错过了一个盘点,并最终抢七惜败;第二盘则挽救一个赛点后抢七局3-0领先开局,且以7-6(3)扳回一盘;第三盘决胜盘,在关键的第9局15-40落后情况下凭借连续的高质量发球逆转保发,之后比赛再次进入抢七,抢七局依然胶着,吴易昺又挽救了3个赛点,并兑现了自己的第5个冠军点,就此锁定冠军!历史性一刻到来时,吴易昺瞬间躺倒在地。全场比赛,伊斯内尔轰出了44记Ace球,但最终在主场依然输给了吴易昺。

凭借具有突破意义的这一冠,吴易昺在本周入账250个积分和112125美元的冠军奖金,在周一最新一期的男单排名榜单上,创**大陆男网历史新高排名—第58位。根据比赛计划,吴易昺原本要出战本周进行的ATP250德拉海滩站,不过在达拉斯夺冠后,吴易昺因身体疲劳退出本站赛事,他的签位由幸运落败者约翰森替代。

Answer: 男子网坛历史性一刻!**小将吴易昺逆转击败赛会5号种子,成公开赛年代首个冠军。
Luotuo-Vanilla

Luotuo-Vanilla是骆驼项目的第一个github仓库, 它是在LLaMA-7B上进行微调的。骆驼项目的初始目标,是研究使用跨语言数据在进行微调时,大语言模型发生的相关现象。

测试代码 Open In Colab

一个使用Gradio搭建的交互界面 Open In Colab

我们还在完善骆驼1.0的训练数据和修复bug,并且在后续的版本中,我们将研究如何修复骆驼的Tokenizer。

骆驼0.3 的输出样例 (点我)
Input: **的首都在哪里?
Luotuo-Output: **的首都是北京。
Input: 华中师范大学在哪里
Luotuo-0.1-Output: 华中师范大学位于北京
Luotuo-0.3-Output: 华中师范大学在武汉市。
Luotuo-Paper-Reading

在构建骆驼项目中,阅读的一些关于大语言模型,或者其他科研进展的论文

Luotuo-Vanilla

丝绸魔法书记录了大语言模型的一些魔法提示词(prompt)。我们希望有一天,骆驼项目自己训练的语言模型,也能适配很复杂任务的prompt。

Luotuo-Vanilla

Silk Road (丝绸之路) will be the model bank of project Luotuo.

赞助(Sponsorships)

Top 3 Sponsors

Time Sponsor Amount
2023/3/28 张** 2000
2023/4/2等 Tand 1080
2023/4/6 孙** 1024

balance = 5507 now. Detailed balance see in sponsorship_and_balance.md

这原本是我们的一个作业项目,我们原本计划训练到1.0为止。但是社区的热情超过了我们的想象。如果您愿意赞助我们的项目,可以

扫描这个二维码

并且加这个支付宝账号,留下您的姓名

项目的资金流向将被公开,所有的资金将被用于数据的标注,训练算力的购买或者后续周边产品的发放。数据和算力的捐献也会一同总结在sponsorship的表格中。备用链接 二维码 , 支付宝账号

This was originally an exercise project for us, and we originally planned to train until version 1.0. However, the enthusiasm of the community exceeded our expectations. If you are willing to sponsor our project, you can scan this QR code and add this Alipay account, leaving your name.

All funds will be used for data annotation, purchase of training computing power, or distribution of subsequent peripheral products.

相关项目

我们计划在这里增加一个表格,列出所有我们已经关联,和正在following的开源项目列表。同时,非常感谢这些项目的作者对开源社区的贡献。

太长不看

模型与训练 详情
ChatGLM-6B ChatGLM-6B 是清华唐杰老师实验室释放出来的中文大语言(小)模型
ptuning-v2 ptuning-v2是清华唐杰老师实验室发布对GLM的一种微调方法,实现了他们本身发布的p-tuning-v2的论文的方法
GLM-Tuning Build 这是Chengxi Guo等同学实现的GLM微调,最新的版本中同时支持了LoRA和p-tuning
Alpaca Alpaca是斯坦福在LLaMA上微调对话指令的项目,是万恶之源
Alpaca-LoRA 这个项目开启了LLaMA模型上的LoRA微调,万恶之源2
Alpaca-ChToken 复旦的Yiming Cui和Ziqing Yang修复了Alpaca的中文token问题,在原来的LLaMA英文token边上并了一个中文的token,我们想把这个项目整合到整体训练里,还没做完
BELLE-7B Open in Colab BELLE是贝壳(链家)放出来的中文大模型,我们之后会尝试在这上面做微调。在一个合适的定量benchmark建立以后,我们会对比各个单卡大模型之间的性能。
RWKV-LM RWKV也是一套语言模型的训练架构
Baize-7B 白泽是做连续对话的,他收集语料的方法很有意思,之后我们要看一下,但是白泽是在LLaMA上训练的,所以会遇到中文的问题,用到中文要换基模型。
Vicuna 同时有7B和13B,支持中文的模型,这个应该挺厉害的,而且13B用Int4能够压缩到colab使用(但是不知道int4训练会不会出事儿),之后也要试一下
DeepSpeed 微软开源的一个快速训练RLHF和全局finetune的一个框架
Phoenix 港中文深圳的老师同学们发布的Phoenix模型,拥有宽松,支持商业的开源协议,我们之后想有些模型也在这上面训练,另外感谢cite我们🙏
中文OpenInstruct 北京智源老师们准备开源出来的数据集,另外感谢cite我们!
数据 详情
Guanaco Guanaco是JosephusCheung制作的一套指令调优的数据集,在骆驼0.3以上版本的模型中我们使用了这个数据。
CNewSum CNewSum是字节与UCSB发布的中文摘要数据集,我们在驼铃-C模型中使用了这个数据集
Coco-CN 这是**人民大学的li-xirong等翻译的部分Coco数据集,骆驼团队正在准备用GPT翻译完整的Coco,如果你也准备翻译,可以联系我们,避免重复花钱
CoQA 基于一段文字,然后问答,是个很重要的任务。陈丹琦大佬参与做的CoQA数据集,骆驼团队正在准备用GPT增广和翻译完整的CoQA,如果你也准备翻译,可以联系我们,避免重复花钱

贡献者(Contributors)

我们会把每个贡献者的贡献记录在contributions.md,包括每个项目每个成员的具体任务分配和贡献。

这里的表格仅列出每个人的主要贡献,更具体的内容请参考contributions.md

太长不看

Contributor 1
李鲁鲁 @ 商汤科技
李鲁鲁 是骆驼项目的发起人之一
Contributor 2
冷子昂 @ 商汤科技
冷子昂 是骆驼项目的发起人之一
Contributor 3
陈启源 @ 华中师范大学
陈启源 是骆驼项目的发起人之一
Contributor 4
黄泓森 @ 华中师范大学
黄泓森 维护了docker和项目环境
Contributor 5
胡婧 @ 华中师范大学
胡婧 正在参与一些后续项目
Contributor 6
陈舒年 @ 杜克大学
陈舒年 正在参与ChatYisheng等
Contributor 5
刘思诣 @ Upenn
刘思诣 正在参与一些后续项目
Contributor 4
孙骜 @ 清华大学
孙骜 正在参与中文QA等工作
Contributor 6
黄钟健 @ 西安电子科大
黄钟健编写了Chat驼铃

Citation

Please cite the repo if you use the data or code in this 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}},
}

回到开头