Qwen是阿里云推出的通义千问大语言模型及相关项目的官方仓库,包含多种语言模型,具备丰富功能和特性,支持多种使用和部署方式。 1. 模型概述 - 模型发布:开源了Qwen系列模型,包括基础语言模型Qwen - 1.8B、Qwen - 7B、Qwen - 14B、Qwen - 72B,以及聊天模型Qwen - 1.8B - Chat、Qwen - 7B - Chat、Qwen - 14B - Chat、Qwen - 72B - Chat。 - 模型特点 - 基础语言模型经过大量数据训练,在基准数据集上表现出色,如在MMLU、C - Eval、GSM8K等数据集上超越同类模型。 - 聊天模型基于SFT和RLHF(部分未发布)与人类偏好对齐,可实现聊天、创作、信息提取、翻译、编码等多种功能,还可使用工具、充当智能体或代码解释器等。 - Qwen - 1.8B和Qwen - 72B - Chat增强了系统提示能力,支持更长的上下文长度(分别为32K和8K),不同模型在预训练数据量、最小GPU内存需求(微调时)和最小GPU使用量(生成时)等方面有所不同。 2. 项目内容 - 快速开始:提供了使用Qwen - Chat和基础语言模型进行推理的简单示例,包括使用🤖ModelScope和🤗Transformers的方法,可选择是否使用flash - attention提高效率,同时介绍了在网络问题下从ModelScope获取模型的方法,以及模型的批量推理示例,还提及了CPU部署(建议使用qwen.cpp)和多GPU部署的方式,以及DashScope API服务的使用方法(包括注册、安装和示例代码)。 - 量化:基于AutoGPTQ提供了Int4和Int8量化模型,介绍了其安装要求和使用方法,以及KV缓存量化的功能、使用方法和性能优势(如在不同批量大小和序列长度下的内存占用情况),同时给出了不同量化模型在基准测试中的性能表现和推理性能统计(包括速度和内存使用情况)。 - 微调:提供了官方训练脚本finetune.py,支持全参数微调、LoRA和Q - LoRA,介绍了数据准备方法(将样本保存为特定格式的json文件),以及不同微调方式的启动脚本和注意事项,如全参数微调需使用多GPU训练,LoRA可单GPU训练且在微调基础语言模型时需注意特殊层的处理,Q - LoRA适用于内存不足情况且只支持fp16,同时介绍了LoRA和Q - LoRA模型的加载和保存方法,以及全参数/LoRA微调模型的量化方法(需准备校准数据并使用特定脚本),还提及了多节点微调的支持情况和相关注意事项,最后给出了不同微调方法在单GPU和多GPU训练下的内存和速度性能统计。 - 部署 - 推荐使用vLLM进行部署和快速推理,介绍了其安装方法(根据不同的cuda和pytorch版本),以及通过vLLM + Transformer - like Wrapper、vLLM + Web Demo / OpenAI - like API(需结合FastChat)的使用示例,包括启动控制器、模型工作者、Web UI演示和OpenAI API的命令。 - 提供了构建Web UI演示、CLI演示和本地API(基于OpenAI API)的方法,包括安装依赖和运行相应脚本,同时介绍了使用预构建Docker图像(qwenllm/qwen)进行部署的方法,包括准备工作(安装Nvidia驱动、配置docker和nvidia - container - toolkit、下载模型文件)和部署命令(针对OpenAI API、Web UI和CLI演示),以及使用Docker进行微调的示例(包括单GPU LoRA和Q - LoRA的微调命令)。 - 系统提示:Qwen - 1.8 - Chat和Qwen - 72B - Chat经过系统提示训练,可实现角色扮演、语言风格转换、任务设置和行为设置等功能,提高了模型的可扩展性,更多信息可参考示例文档。 - 工具使用:Qwen - Chat优化了工具使用和函数调用能力,支持开发智能体、LangChain应用,可与Python代码解释器结合,提供了基于ReAct Prompting实现工具调用的文档和示例,在中文工具使用基准测试和代码解释器基准测试中表现良好,能准确选择工具、输入正确参数,且生成代码的可执行性和结果准确性较高。 - 长上下文理解:采用多种技术(如NTK - aware插值、窗口注意力、LogN注意力缩放等)扩展上下文长度,Qwen - 14B上下文长度从2K扩展到8K以上,Qwen - 1.8B/7B从8K扩展到32K,Qwen - 72B支持32K上下文长度,在arXiv数据集的语言建模实验和L - Eval(闭卷任务)测试中表现出色,能准确检索长文本中的信息。 - 分词器:基于tiktoken的分词器与其他分词器(如sentencepiece)不同,微调时需注意特殊标记,更多信息参考文档。 - 复现:提供脚本用于复现模型在基准数据集上的性能,结果可能与报告略有差异,更多信息参考eval/EVALUATION.md。 3. 其他信息 - 常见问题解答(FAQ):遇到问题可先参考FAQ和已有问题寻找解决方案。 - 引用:若使用该项目,可按指定格式引用相关论文。 - 许可证协议:源代码采用Apache 2.0许可证,模型使用需遵循相应许可证,Qwen - 72B、Qwen - 14B、Qwen - 7B需遵循通义千问许可证协议(商业使用需申请),Qwen - 1.8B需遵循通义千问研究许可证协议(商业使用需联系)。 - 联系我们:可通过Discord、微信或邮件(qianwen_opensource@alibabacloud.com)与研究团队或产品团队联系。
Qwen-阿里云推出的通义千问大语言模型
评论
41 views