SkillAgentSearch skills...

Linly

Chinese-LLaMA 1&2、Chinese-Falcon 基础模型;ChatFlow中文对话模型;中文OpenLLaMA模型;NLP预训练/指令微调数据集

Install / Use

/learn @CVI-SZU/Linly
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

中文 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/> <p align="center"> <br> <img src="assets/chatflow.jpg" width="80%"/> <br> </p> <br/>

中文预训练语料 | 中文指令精调数据集 | 模型量化部署 | 领域微调示例

<br/>

新闻

  • [2024/2/4] 发布与APUS联合训练的 Chinese-LLaMA-2 (70B) 模型,下载地址

  • [2023/7/22] 发布 Chinese-LLaMA-2 (7B、13B) 模型,基于混合语料训练,技术文章 - 在线体验

  • [2023/6/14] 发布中文 Falcon-7B 基础模型,扩充 Falcon 词表并在大规模中文语料增量训练,技术文章

  • [2023/5/31] Linly-ChatFlow-7B 对话模型在 SuperCLUE-琅琊榜 参与排名

<details> <summary><b>Past News</b></summary>
  • [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 , 技术博客

</details>

目录

<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格式转换 ⬅️ 。

<br/>

⭐ 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/>

特别感谢 HuggingFaceOpenBayes 提供的在线体验计算资源。

如果想在自己的环境上构造交互式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

View on GitHub
GitHub Stars3.1k
CategoryCustomer
Updated7h ago
Forks229

Languages

Python

Security Score

85/100

Audited on Apr 6, 2026

No findings