/Llama2-Chinese

最好的中文Llama大模型,完全开源可商用

Primary LanguagePython

Llama2-Chinese

Llama

最好的中文Llama大模型



🗂️ 内容导引

🐼 国内Llama2最新下载地址上线!

🔥 社区介绍:Llama2中文社区

欢迎来到Llama2中文社区!我们是一个专注于Llama2模型在中文方面的优化和上层建设的高级技术社区。 *基于大规模中文数据,从预训练开始对Llama2模型进行中文能力的持续迭代升级*。 我们热忱欢迎对大模型LLM充满热情的开发者和研究者加入我们的行列。

为什么选择Llama2中文社区?

🚀 高级工程师团队支持:社区有一批专注为大家服务的NLP高级工程师,我们有着强大的技术支持和丰富的经验,为您提供专业的指导和帮助。

🎯 中文优化:我们致力于在Llama2模型的中文处理方面进行优化,探索适用于中文的最佳实践,以提升其性能和适应性。

💡 创新交流:我们拥有一支富有创造力和经验的社区成员团队,定期组织线上活动、技术研讨和经验分享,促进成员间的创新交流。

🌐 全球联结:我们欢迎来自世界各地的开发者加入社区,构建一个开放、多元化的学习和交流平台。

🤝 开放共享:我们鼓励社区成员开源分享代码和模型,推动合作共赢,共同促进中文NLP技术的发展。

社区活动

🗓️ 线上讲座:邀请行业内专家进行线上讲座,分享Llama2在中文NLP领域的最新技术和应用,探讨前沿研究成果。

💻 项目展示:成员可展示自己在Llama2中文优化方面的项目成果,获得反馈和建议,促进项目协作。

📚 学习资源:社区维护丰富的学习资料库,包括教程、文档和论文解读,为成员提供全面的学习支持。

📝 论文解读:社区成员共同解读与Llama2相关的最新研究论文,深入理解前沿算法和方法。

🎉 主题活动:定期举办各类主题活动,包括挑战赛、黑客马拉松和技术沙龙,让社区成员在轻松愉快的氛围中交流和学习。

🌟 奖励计划:我们设立奖励计划,对社区中积极参与、贡献优秀的成员给予荣誉和奖励,激励更多优秀人才的加入。

📈 技术咨询:我们提供技术咨询服务,解答您在Llama2开发和优化过程中遇到的问题,助您快速攻克难关。

🚀 项目合作:鼓励成员间的项目合作,共同探索Llama2在实际应用中的潜力,打造创新解决方案。

立即加入我们!

📚 愿景:无论您是对Llama2已有研究和应用经验的专业开发者,还是对Llama2中文优化感兴趣并希望深入探索的新手,我们都热切期待您的加入。在Llama2中文社区,您将有机会与行业内顶尖人才共同交流,携手推动中文NLP技术的进步,开创更加美好的技术未来!

🔗 温馨提示:本社区为专业技术交流平台,我们热切期望志同道合的开发者和研究者加入。请遵守社区准则,共同维护积极向上的学习氛围,任何与Llama2无关的内容和广告将被清理。感谢您的理解和支持!

📢 社区公告

2023年7月20日:新增飞书知识库文档,欢迎大家一起共建!

2023年7月20日:国内Llama2最新下载地址上线!

2023年7月19日:正式启动Llama2模型的中文预训练,关注我们获取实时动态!

2023年7月19日:Llama2国内下载地址正在启动,敬请期待!

2023年7月19日:开启Llama2中文社区,欢迎大家加入!

📝 数据来源

我们计划通过以下数据来优化Llama2的中文能力:

类型 描述
网络数据 互联网上公开的网络数据,挑选出去重后的高质量中文数据,涉及到百科、书籍、博客、新闻、公告、小说等高质量长文本数据。
Wikipedia 中文Wikipedia的数据
悟道 中文悟道开源的200G数据
Clue Clue开放的中文预训练数据,进行清洗后的高质量中文长文本数据
竞赛数据集 近年来中文自然语言处理多任务竞赛数据集,约150个
MNBVC MNBVC 中清洗出来的部分数据集

希望大家如果有较高质量的数据集能够提供给我们,不胜感激!💕💕

⏬ 模型部署

Meta在🤗Huggingface上提供了所有模型的下载链接:https://huggingface.co/meta-llama

预训练模型

Llama2预训练模型包含7B、13B和70B三个版本

模型名称 🤗模型加载名称 下载地址
Llama2-7B meta-llama/Llama-2-7b-hf 模型下载
Llama2-13B meta-llama/Llama-2-13b-hf 模型下载
Llama2-70B meta-llama/Llama-2-70b-hf 模型下载

Chat模型

Llama2-Chat模型基于预训练模型进行了监督微调,具备更强的对话能力

模型名称 🤗模型加载名称 下载地址
Llama2-7B-Chat meta-llama/Llama-2-7b-chat-hf 模型下载
Llama2-13B-Chat meta-llama/Llama-2-13b-chat-hf 模型下载
Llama2-70B-Chat meta-llama/Llama-2-70b-chat-hf 模型下载

模型调用代码示例

from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-2-7b-chat-hf',device_map='auto',torch_dtype=torch.float16,load_in_8bit=True)
model =model.eval()
tokenizer = AutoTokenizer.from_pretrained('meta-llama/Llama-2-7b-chat-hf',use_fast=False)
input_ids = tokenizer(['<s>Human: 介绍一下**\n</s><s>Assistant: '], return_tensors="pt",add_special_tokens=False).input_ids.to('cuda')        
generate_input = {
    "input_ids":input_ids,
    "max_new_tokens":512,
    "do_sample":True,
    "top_k":50,
    "top_p":0.95,
    "temperature":0.3,
    "repetition_penalty":1.3,
    "eos_token_id":tokenizer.eos_token_id,
    "bos_token_id":tokenizer.bos_token_id,
    "pad_token_id":tokenizer.pad_token_id
}
generate_ids  = model.generate(**generate_input)
text = tokenizer.decode(generate_ids[0])
print(text)

Gradio快速搭建问答平台

基于gradio搭建的问答界面,实现了流式的输出,将下面代码复制到控制台运行,以下代码以Llama2-7B-Chat模型为例,不同模型只需修改一下代码里的模型名称就好了😊

python examples/chat_gradio.py --model_name_or_path meta-llama/Llama-2-7b-chat

💡 模型微调

本仓库中提供了基于LoRA的微调代码,未来我们将会扩展更多的微调算法,敬请期待!关于LoRA的详细介绍可以参考论文“LoRA: Low-Rank Adaptation of Large Language Models”以及微软Github仓库LoRA

Step1: 环境和数据准备

根据requirements.txt安装对应的环境依赖。

在data目录下提供了一份用于模型sft的数据样例:

每个csv文件中包含一列“text”,每一行为一个训练样例,每个训练样例按照以下格式将问题和答案组织为模型输入,您可以按照以下格式自定义训练和验证数据集:

"<s>Human: "+问题+"\n</s><s>Assistant: "+答案

例如,

<s>Human: 用一句话描述地球为什么是独一无二的。</s><s>Assistant: 因为地球是目前为止唯一已知存在生命的行星。</s>

Step2: 微调脚本

我们提供了用于微调的脚本train/sft/finetune.sh,通过修改脚本的部分参数实现模型的微调,关于微调的具体代码见train/sft/finetune_clm_lora.py

📖 学习资料

Meta官方对于Llama2的介绍

Llama相关论文

Llama2的评测结果

Llama2Eval

🎉 致谢

感谢原子回声AtomEcho团队的技术和资源支持!

感谢 @xzsGenius 对Llama2中文社区的贡献!

🤔 问题反馈

如有问题,请在GitHub Issue中提交,在提交问题之前,请先查阅以往的issue是否能解决你的问题。

礼貌地提出问题,构建和谐的讨论社区。

加入飞书知识库,一起共建社区文档。

加入微信群讨论😍😍

Wechat