# <center>GOAT</center>
<div align="center">
<img src='./imgs/logo.png' width=30%/>
</div>
GOAT(山羊)是中英文大语言模型,采用[LoRA](https://arxiv.org/pdf/2106.09685.pdf)方法以较低的资源基于[LlaMa](https://github.com/facebookresearch/llama)在多轮对话数据集上SFT。本项目下的代码、数据、模型等只供研究使用。(logo由[文心一言](https://yiyan.baidu.com/)生成)
## 更新
### 🚀 2023.04.24
- [x] 🎉Web页面支持多轮对话;
- [x] 🎉Web页面支持流式输出;
- [x] 🎉多轮对话支持调节`temperature, top_p, top_k, num_beams, max_new_tokens, repetition_penalty`参数。
### 🚀 2023.04.21
- [x] 🎉发布了30B和13B的LoRA参数,此参数基于shareGPT的30k数据SFT,epoch=2;
- [x] 🎉web页面增加了流式输出;
- [x] 🎉使用了`transformer==4.28.1`,支持`num_beams=1`时流式输出;
- [x] 🎉添加了演示视频。
### 🚀 2023.04.15
- [x] 🎉增加了处理多轮对话类数据的代码,使得代码可以对LlaMa模型进行多轮对话有监督微调,多轮对话有监督微调的模型效果具有较大提升;
- [x] 🎉将`'### '`和`'\n\n'`切分符替换成了eos_token`'</s>'`,使其能够更好的识别文本的段落和角色的切分。模型在推理时能够适时地结束文本生成而不是无休止的生成;
- [x] 🎉公开GOAT_7B LoRA模型参数,此模型是基于LlaMa在10k中英文多轮对话数据上有监督微调获得;
- [x] 🎉多轮对话数据示例可在[sample.json](./datasets/sample.json)查看,完整的shareGPT多轮对话数据可在[这里](https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered)下载。
## 效果
https://user-images.githubusercontent.com/14015706/233425087-dec0d125-b2e7-4fc5-85b6-cadd23083fb2.mp4
视频经过加速处理。
## 模型
本项目是基于[LlaMa](https://github.com/facebookresearch/llama)使用多轮对话数据集SFT的模型,使用本项目代码进行微调或推理需要先[申请](https://github.com/facebookresearch/llama)或在[Huggingface](https://huggingface.co/models)下载LlaMa原模型权重并放在对应文件夹下。
## 微调参数
本项目在1台RTX A6000(48G)显卡上训练了2个epoch,batch_size是128:
```
max_lenght=1024
per_device_train_batch_size=8
gradient_accumulation_steps=16
learning_rate=3e-4
```
## 局限性
- 由于LlaMa只有少部分中文token、没有在中文语料下预训练、微调数据量较少、只更新了Adapter参数等种种因素导致微调之后的中文效果不是非常理想;
- 会出现较多的事实性错误;
- 会出现“复读机”情况;
- 产生偏见、危险、政治错误等言论。
## TODO
- [x] 在对话类数据集上使用LoRA进行微调;
- [x] 提供web页面,并支持流式输出;
- [x] 微调LlaMa 30B模型(LoRA);
- [x] Web页面实现多轮对话;
- [ ] 实现基于知识库或文本语料的问答(LangChain或自己构建);
- [ ] 使用RLHF;
- [ ] 重构代码使其可用于多卡并行训练;
- [ ] ...
没有合适的资源?快使用搜索试试~ 我知道了~
GOAT(山羊)是中英文大语言模型,基于LlaMa进行SFT.zip
共37个文件
json:14个
png:7个
bin:4个
1 下载量 40 浏览量
2023-08-20
11:48:35
上传
评论
收藏 112.99MB ZIP 举报
温馨提示
GOAT(山羊)是中英文大语言模型,基于LlaMa进行SFT - [1] 增加了处理多轮对话类数据的代码,使得代码可以对LlaMa模型进行多轮对话有监督微调,多轮对话有监督微调的模型效果具有较大提升; - [2] 能够更好的识别文本的段落和角色的切分。模型在推理时能够适时地结束文本生成而不是无休止的生成; - [3] 公开GOAT_7B LoRA模型参数,此模型是基于LlaMa在10k中英文多轮对话数据上有监督微调获得;
资源推荐
资源详情
资源评论
收起资源包目录
GOAT(山羊)是中英文大语言模型,基于LlaMa进行SFT。.zip (37个子文件)
GOAT-main
src
web.py 9KB
infer_lora_zh.ipynb 8KB
finetune_lora_zh.ipynb 17KB
llama_7b
将原版llama模型放在这里.txt 0B
datasets
sample.json 10KB
llama_30b
将原版llama模型放在这里.txt 0B
models
GOAT_13B_sg30k_001_LoRA
added_tokens.json 21B
adapter_config.json 353B
adapter_model.bin 25.05MB
tokenizer_config.json 264B
tokenizer.model 488KB
special_tokens_map.json 96B
GOAT_001_13B_Lora
adapter_config.json 353B
adapter_model.bin 25.05MB
GOAT_30B_sg30k_001_LoRA
added_tokens.json 21B
adapter_config.json 353B
adapter_model.bin 48.83MB
tokenizer_config.json 264B
tokenizer.model 488KB
special_tokens_map.json 96B
GOAT_001_7B_Lora
added_tokens.json 21B
adapter_config.json 352B
adapter_model.bin 16.04MB
tokenizer_config.json 263B
tokenizer.model 488KB
special_tokens_map.json 96B
.gitignore 2KB
llama_13b
将原版llama模型放在这里.txt 0B
imgs
logo_new.png 311KB
3.png 212KB
logo.png 255KB
1.png 243KB
5.png 176KB
4.png 139KB
GOAT-DEMO-001.mp4 4.79MB
2.png 139KB
README.md 3KB
共 37 条
- 1
资源评论
LeapMay
- 粉丝: 2w+
- 资源: 2304
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功