init readme
Browse files
README.md
CHANGED
|
@@ -1,3 +1,67 @@
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
| 3 |
---
|
| 4 |
+
# Anima
|
| 5 |
+
|
| 6 |
+

|
| 7 |
+
|
| 8 |
+
第一个开源的基于QLoRA的33B中文大语言模型 the First QLoRA based 33B fully open-source Chinese LLM
|
| 9 |
+
|
| 10 |
+
## Github Repo:
|
| 11 |
+
|
| 12 |
+
[https://github.com/lyogavin/Anima](https://github.com/lyogavin/Anima)
|
| 13 |
+
|
| 14 |
+
## 模型训练
|
| 15 |
+
|
| 16 |
+
### Backbone模型选择
|
| 17 |
+
|
| 18 |
+
基于QLoRA开源的[33B guanaco](https://huggingface.co/timdettmers/guanaco-33b)训练。
|
| 19 |
+
|
| 20 |
+
* 思考逻辑:本工作主要为了验证QLoRA训练方法的有效性,因此选择了基于QLoRA的Guanaco 33B finetune训练,这个训练更多的是增强模型的中文能力。Assume模型的基础logical reasoning和Knowledge能力已经足够。
|
| 21 |
+
|
| 22 |
+
### 训练数据选择
|
| 23 |
+
|
| 24 |
+
使用[Chinese-Vicuna](https://github.com/Facico/Chinese-Vicuna)项目开放的训练数据集[guanaco_belle_merge_v1.0](https://huggingface.co/datasets/Chinese-Vicuna/guanaco_belle_merge_v1.0)进行finetune训练。
|
| 25 |
+
|
| 26 |
+
* **思考逻辑**:按照[QLoRA](https://arxiv.org/abs/2305.14314) Appendix B.4和Table 9中的Grid Search的结论:对于QLoRA finetune,training sample量不一定越大越好。10000个steps是一个ROI比较优的size。因此我们希望选择一个不小于10000个steps的数据集。[Belle 10M](https://github.com/LianjiaTech/BELLE/blob/main/data/10M)数据集似乎太大了,不确定数据质量如何。时间有限,先选择guanaco_belle_merge_v1.0。后边会进一步更系统性的测试更多的数据集和数据质量筛选的效果。
|
| 27 |
+
* **感谢**:Chinese-Vicuna项目、Belle项目、GuanacoDataset的贡献。
|
| 28 |
+
|
| 29 |
+
### 超参选择
|
| 30 |
+
|
| 31 |
+
基于成本ROI平衡的考虑,没有做太多的grid search,基本的思路是follow [QLoRA paper](https://arxiv.org/abs/2305.14314) 的结论,因为QLoRA做了相对比较详尽的超参Grid Search实验:
|
| 32 |
+
|
| 33 |
+
* Batch size: 16 ([QLoRA](https://arxiv.org/abs/2305.14314) Appendix B.4和Table 9)
|
| 34 |
+
* Max steps: 10000 ([QLoRA](https://arxiv.org/abs/2305.14314) Appendix B.4和Table 9),更多的steps和更大的数据集的训练在进一步实验中,后续会持续更新。
|
| 35 |
+
* Learning rate: 1e-4 ([QLoRA](https://arxiv.org/abs/2305.14314) Appendix B.4和Table 9)
|
| 36 |
+
* LoRA r=64, alpha=16 ([QLoRA](https://arxiv.org/abs/2305.14314) Appendix B.2)
|
| 37 |
+
* source_max_len=512, target_max_len=512,需要保证大部分的training sample没有truncate,能完整的把信息训练到模型中,根据脚本()中的估计,512大概可以覆盖大部分的样本长度。
|
| 38 |
+
|
| 39 |
+
## 验证评估
|
| 40 |
+
|
| 41 |
+
### Elo rating tournament结论
|
| 42 |
+
|
| 43 |
+
| Model | Elo | Rank |
|
| 44 |
+
|-------------------|---------|------|
|
| 45 |
+
| ChatGPT-3.5 turbo | 1341.98 | 1 |
|
| 46 |
+
| **Anima 33B** | **1096.69** | **2** |
|
| 47 |
+
| Belle | 937.71 | 3 |
|
| 48 |
+
| Chinese Vicuna | 623.62 | 4 |
|
| 49 |
+
|
| 50 |
+
### 评估方法论
|
| 51 |
+
|
| 52 |
+
* **数据集的选择**:如[Belle Paper](https://github.com/LianjiaTech/BELLE/blob/main/docs/Towards%20Better%20Instruction%20Following%20Language%20Models%20for%20Chinese.pdf)中论述,评估集的不同类型分布对于评估结论影响巨大。如田忌赛马,以己之长攻人之短,很容易占优势。因此我们选择了英文chatbot模型研究工作中比较普遍公认的[Vicuna benchmark](https://lmsys.org/blog/2023-03-30-vicuna/)。为了评测中文,我们使用GPT4对于问题做了翻译。翻译代码和数据集如下:。
|
| 53 |
+
* **评估方法**: 为了平衡成本,我们主要采用GPT4进行评估。如[QLoRA](https://arxiv.org/abs/2305.14314) 论证,单纯GPT4打分进行模型的对比随机波动性较大。这与我们的观察一致。因此采用了[QLoRA](https://arxiv.org/abs/2305.14314) 推荐的,现在比较普遍采用的Elo Rating tournament评测方法。
|
| 54 |
+
* **超参选择**:出于成本考虑,我们选择:300轮随机评估,随机选择模型PK的先后顺序以抵消先后顺序的影响,随机种子为:42。Elo rating的实现代码和其他超参参照[Vicuna的Elo代码](https://raw.githubusercontent.com/lm-sys/FastChat/833d65032a715240a3978f4a8f08e7a496c83cb1/fastchat/serve/monitor/elo_analysis.py): K=32, init rating=1000。
|
| 55 |
+
|
| 56 |
+
## Who We Are?
|
| 57 |
+
|
| 58 |
+
此工作来自于[艾写科技](https://aicompose.cn/about)。我们团队来自于硅谷,有多年中、美大厂的一线AI工作经验。
|
| 59 |
+
|
| 60 |
+
我们致力于通过最新的AGI,LLM技术为内容创作提供下一代的内容创作工具。
|
| 61 |
+
|
| 62 |
+
**我们相信**:生成式AI的年代,“写”不是变得更容易,而是更难了。因为AI拉平了玩家之间的差距。每个人都可以很容易的让ChatGPT帮你写一段文案。
|
| 63 |
+
|
| 64 |
+
单纯的为内容创作提供“写”文案的工具已经远远不够。内容创作者需要的不是“写”,而是“写爆款”,是要结合“爆款”的趋势,结合对于用户内容兴趣和口味变化的敏锐洞察,为内容创作提供能高效产出爆款的AI。
|
| 65 |
+
|
| 66 |
+
我们坚持积累大量的中文全网社交媒体数据,积累了大量实时的对于爆款趋势的变化数据。通过结合爆款数据和最近的LLM AI技术,为内容创作者提供算法分发时代真正有效的竞争优势。
|
| 67 |
+
|