Linly
Chinese-LLaMA 1&2、Chinese-Falcon 基础模型;ChatFlow中文对话模型;中文OpenLLaMA模型;NLP预训练/指令微调数据集
Install / Use
/learn @CVI-SZU/LinlyREADME
中文 LLaMA1-2 & Linly-OpenLLaMA & Falcon 大模型
<p align="center"> <br> <img src="assets/linly_logo.png" width="700"/> <br> </p> <p align="center"> <img src="https://img.shields.io/badge/Model%20License-GPL_v3.0-green.svg"> <img src="https://img.shields.io/badge/Code%20License-Apache_2.0-red.svg"> <img src="https://img.shields.io/github/last-commit/ydli-ai/Chinese-ChatLLaMA"> <img src="https://img.shields.io/github/commit-activity/m/ydli-ai/Chinese-ChatLLaMA"> <img src="https://img.shields.io/github/languages/top/ydli-ai/Chinese-ChatLLaMA"> <img src="https://img.shields.io/github/stars/ydli-ai/Chinese-ChatLLaMA?style=social"> </p> <br/>本项目向社区提供中文对话模型 Linly-ChatFlow 、中文基础模型 Chinese-LLaMA (1-2)、Chinese-Falcon 及其训练数据。
其中,与APUS联合训练的Linly-70B模型各项性能指标:
| ARC | HellaSwag | MMLU | Truthful QA | Winogrande | GSM8K | C-Eval | | ---- | ---- | ---- | ---- | ---- | ---- | ---- | | 54.69 | 76.94 | 60.4 | 53.54 | 73.4 | 34.12 | 80.6 |
中文基础模型以 LLaMA 和 Falcon 为底座,使用中文和中英平行语料进行增量预训练,将其在英文上的语言能力扩展到中文上。同时,项目汇总了目前公开的多语言指令数据,对中文模型进行大规模指令跟随训练,实现了 Linly-ChatFlow 对话模型。
此外,本项目开源了从头训练的 Linly-OpenLLaMA 模型,包含 3B、7B、13B 规模,在 1TB 中英文语料上进行预训练,针对中文优化了字词结合tokenizer,此模型以 Apache 2.0 协议公开。
<br/>项目内容
- 🚀 通过 Full-tuning (全参数训练)获得中文LLaMA、Falcon等模型,提供 TencentPretrain 与 HuggingFace 版本
- 🚀 模型细节公开可复现,提供数据准备、模型训练和模型评估完整流程代码
- 🚀 多种量化方案,支持 CUDA 和边缘设备部署推理
中文预训练语料 | 中文指令精调数据集 | 模型量化部署 | 领域微调示例
<br/>新闻
-
[2023/7/22] 发布 Chinese-LLaMA-2 (7B、13B) 模型,基于混合语料训练,技术文章 - 在线体验
-
[2023/6/14] 发布中文 Falcon-7B 基础模型,扩充 Falcon 词表并在大规模中文语料增量训练,技术文章
-
[2023/5/31] Linly-ChatFlow-7B 对话模型在 SuperCLUE-琅琊榜 参与排名
-
[2023/5/28] 更新 v1.2 版 Chinese-LLaMA ,序列长度提升至2048,开放 Linly-OpenLLaMA v0.1版
-
[2023/5/14] 更新 v1.1 版,使用更多训练数据,ChatFlow 序列长度提升至1024,提供网页在线试用和 API
-
[2023/4/27] 正式发布 Linly-ChatFlow-13B 对话模型、Linly-Chinese-LLaMA-33B 中文基础模型
-
[2023/4/17] llama_inference 更新 8-bit 量化推理和微服务部署,大幅度提升推理速度并降低内存消耗
-
[2023/4/8] TencentPretrain 现已支持 LoRA 训练和 DeepSpeed Zero-3 Offload
-
[2023/4/1] 更新 4-bit 量化版本 Linly-ChatFlow 模型权重,支持 llama.cpp 高速推理
-
[2023/3/28] 开放基于 LLaMA 的中文对话模型 Linly-ChatFlow-7B , 技术博客
目录
<br/>模型下载
💡 本项目提供多种模型,推荐使用最新的 Linly-Chinese-LLaMA-2 模型
💥 Linly-Chinese-LLaMA-2
- 模型特点:使用 LLaMA2 扩充中文词表,在混合语料上进行增量预训练,模型仍在迭代中,将定期更新模型权重。
- 实现细节:训练细节和测评
| 模型下载 | 分类 | 训练数据 | 训练序列长度 | 版本 | 更新时间 | |-------------------------------------------------------------------------------------|-----------|------|--------|------|-----------| | Chinese-LLaMA-2-7B (hf格式) | 语言模型/对话模型 | 混合语料 | 2048 | v0.1 | 2023.7.22 | | Chinese-LLaMA-2-13B (hf格式) | 语言模型/对话模型 | 混合语料 | 2048 | v0.2 | 2023.8.12 | | Chinese-LLaMA-2-70B (hf格式) | 语言模型 | 混合语料 | 4096 | v0.1 | 2024.1.3 |
<br/>⭐ Linly-Chinese-Falcon
- 模型特点: Chinese-Falcon 模型在 Falcon 基础上扩充中文词表,在中英文数据上增量预训练。模型以 Apache License 2.0 协议开源,支持商业用途。
- 实现细节:模型实现和训练细节
| 模型下载 | 分类 | 训练数据 | 训练序列长度 | 版本 | 更新时间 | |-------------------------------------------------------------------------------|-----|----------|--------|------|-----------| | Chinese-Falcon-7B (hf格式) | 基础模型 | 50G 通用语料 | 2048 | v0.2 | 2023.6.15 |
<br/>⭐ Linly-Chinese-LLaMA
- 模型特点:Linly-Chinese-LLaMA 系列模型基于 LLaMA 权重和词表,在中文数据上增量预训练。
使用须知 ⚠️ LLaMA 原始模型权重基于 GNU General Public License v3.0 协议,仅供研究使用,不能用于商业目的。 请确认在已获得许可的前提下使用以下模型权重。
| 模型下载 | 分类 | 训练数据 | 训练序列长度 | 版本 | 更新时间 | |------------------------------------------------------------------------|-----|-----------|--------|------|-----------| | Chinese-LLaMA-7B | 基础模型 | 100G 通用语料 | 2048 | v1.2 | 2023.5.29 | | ChatFlow-7B | 对话模型 | 5M 指令数据 | 1024 | v1.1 | 2023.5.14 | | Chinese-LLaMA-13B | 基础模型 | 100G 通用语料 | 2048 | v1.2 | 2023.5.29 | | ChatFlow-13B | 对话模型 | 5M 指令数据 | 1024 | v1.1 | 2023.5.14 | | Chinese-LLaMA-33B (hf格式) | 基础模型 | 30G 通用语料 | 512 | v1.0 | 2023.4.27 |
HuggingFace模型🤗
项目中提供 转换脚本,支持 TencentPretrain 格式与 Huggingface 格式互转。详细使用方法参见 ➡️ Huggingface格式转换 ⬅️ 。
⭐ Linly-OpenLLaMA
- 模型特点:Linly-OpenLLaMA 模型在大规模中英文语料上从头训练词表和模型参数,与原始 LLaMA 模型结构和使用方法一致。模型以 Apache License 2.0 协议开源,支持商业用途。
- 实现细节:训练细节
| 模型下载 | 分类 | 训练数据 | 训练序列长度 | 版本 | 更新时间 | |----------------------------------------------------------------|-----|-----------|--------|------|-----------| | OpenLLaMA-13B | 基础模型 | 100G 通用语料 | 2048 | v0.1 | 2023.5.29 |
<br/>生成示例
💡 生成示例展示 Linly-Chinese-LLaMA-2 模型效果
1. 信息提取
<img src="assets/cases/case1.jpg" width="600" >2. 代码生成
<img src="assets/cases/case2.jpg" width="600" >2. 知识问答
<img src="assets/cases/case3.jpg" width="600" >💡 在线试用
在线 demo 可在 Linly-ChatFlow 体验
<img src="assets/huggingface_demo.jpg"/>在线 API server 试用:
curl -H 'Content-Type: application/json' https://P01son-52nfefhaaova.serv-c1.openbayes.net -d '{"question": "北京有什么好玩的地方?"}'
<br/>
特别感谢 HuggingFace 和 OpenBayes 提供的在线体验计算资源。

如果想在自己的环境上构造交互式demo,欢迎关注和star项目:llama_inference
<br/>快速开始
本章节介绍 TencentPretrain 格式模型权重的使用方法(不适用最新版Linly-Chinese-LLaMA-2模型的hf格式权重,最新版模型使用方法参见huggingface页面)。
下载预训练模型权重,安装依赖,测试环境: py3.8.12 cuda11.2.2 cudnn8.1.1.33-1 torch1.9.0 bitsandbytes0.37.2
解码参数及详细使用说明请参考 llama_inference
git lfs install
git clone https://huggingface.co/Linly-AI/ChatFlow-7B
git clone https://github.com/ProjectD-AI/llama_inference
cd llama_inference
vi prompts.txt #编辑用户输入,例如"上海有什么好玩的地方?"
python3 llama_infer.py --test_path prompts.txt --prediction_path result.txt \
--load_model_path ../ChatFlow-7B/chatflow_7b.bin \
--config_path config/llama_7b_config.json \
--spm_model_path ../ChatFlow-7B/tokenizer.model --seq_length 512
多轮对话
python3 llama_dialogue.py --seq_length 512 --top_k 10 \
--load_model_path ../ChatFlow-7B/chatflow_7b.bin \
--config_path ./config/llama_7b_config.json \
--spm_model_path ../ChatFlow-7B/tokenizer.model
Int8 推理加速
python3 llama_infer.py --test_path prompts.txt --prediction_path result.txt \
--load_model_path ../ChatFlow-7B/chatflow_7b.bin \
--config_path config/llama_7b_config.json \
--spm_model_path ../ChatFlow-7B/tokenizer.model --seq_length 512 --use_int8
微服务部署
安装依赖:flask
python3 llama_server.py --load_model_path ../ChatFlow-7B/chatflow_7b.bin \
--config_path config/llama_7b_config.json \
--spm_model_path ../ChatFlow-7B/tokenizer.model --seq_length 512
curl -H 'Content-Type: application/json' http://127.0.0.1:8888/chat -d '{"question": "北京有什么好玩的地方?"}'
Gradio 本地 Demo
安装依赖:gradio
python llama_gradio.py --load_model_path ../ChatFlow-7B/chatflow_7b.bin \
--config_path config/llama_7b_config.json \
--spm_model_path ../ChatFlow-7B/tokenizer.model --seq_length 512
在网页上打开:http://127.0.0.1:7860/
Int4 CPU本地部署
ChatFlow 模型支持使用 llama.cpp,将 Int4 量化后的模型权重部署在本地CPU推理。 详细使用方法参见 ➡️ [int4推理](https://github.com/CVI-SZU
Related Skills
openhue
349.9kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
349.9kElevenLabs text-to-speech with mac-style say UX.
weather
349.9kGet current weather and forecasts via wttr.in or Open-Meteo
casdoor
13.3kAn open-source AI-first Identity and Access Management (IAM) /AI MCP & agent gateway and auth server with web UI supporting OpenClaw, MCP, OAuth, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID, Google Workspace, Azure AD
