原始资料来源:新智元
图片来源:由* * AI生成
一夜之间,新开源模型“OpenLLM”击败ChatGPT的消息在网上引起轰动。
根据官方介绍,OpenLLM:
–在斯坦福AlpacaEval上,以80.9%的胜率位列开源模型第一。
–在Vicuna GPT-4评测中,性能达到ChatGPT的105.7%。
最重要的是,如此优秀的性能,微调训练只需要6K的GPT-4对话数据。
项目地址:https://github.com/imoneoi/openchat.
然而,Chatbot Arena的“列表所有者”警告说,由于旧的Vicuaeval基准存在一些偏差,我们鼓励大家迁移到新提出的MT-bench-以便更好地评估LLM在更多方面的能力。
OpenLLM:仅6K GPT-4对话微调。
OpenLLM是一个开源语言模型系列,在多样化和高质量的多轮对话数据集上进行微调。
具体来说,研究人员从大约90K个ShareGPT对话中过滤掉了大约6K个GPT-4对话。
经过6k的数据微调,令人惊讶的是,OpenLLM已经被证明可以在有限的数据下实现高性能。
OpenLLM有两个通用模型,分别是OpenChat和OpenChat-8192。
OpenChat:基于LLaMA-13B微调,上下文长度为2048。
–在Vicuna GPT-4评估中达到ChatGPT评分的105.7%。
–在AlpacaEval上取得了80.9%的惊人胜率。
OpenChat-8192:基于LLaMA-13B的微调,上下文长度为8192。
–在Vicuna GPT-4评估中达到ChatGPT评分的106.6%。
–羊驼队胜率79.5%。
此外,OpenLLM的代码模型具有以下性能:
OpenCoderPlus:基于StarCoderPlus,原来的上下文长度是8192。
–在Vicuna GPT-4评估中达到ChatGPT评分的102.5%。
–在AlpacaEval上的胜率是78.7%。
车型评测研究人员使用了Vicuna GPT-4和AlpacaEval基准对最新车型进行评测,结果如下图所示:
骆马GPT-4评估(v.s. gpt-3.5-turbo)
Vicuna GPT-3.5涡轮增压版评估(v.s. gpt-3.5涡轮增压版)
此外,值得注意的是,研究人员采用的评估模型与Vicuna略有不同,还采用了证据校准(EC)+平衡位置校准(BPC)来减少潜在偏差。
安装和权限对使用OpenLLM很重要,需要安装CUDA和PyTorch。用户可以克隆该存储库,并通过pip安装这些依赖项:
git克隆[email & # 160;protected]:imoneoi/ochat . gitpipinstall-r requirements . txt目前研究人员已经提供了所有模型的完整权重作为huggingface资源库。
用户可以使用以下命令在http://localhost:18888本地启动API服务器。
其中,服务器兼容openai包和ChatCompletions协议(请注意,部分功能可能不完全支持)。
用户可以通过设置以下方式来指定openai包的服务器:
open ai . API _ base = " http://localhost:18888/v1 "当前支持的ChatCompletions参数有:
建议:使用至少40GB(1x A100)内存的GPU来运行服务器。
数据集转换后的数据集可以在openchat_sharegpt4_dataset上获取。
项目中使用的数据集是经过清理过滤ShareGPT后的版本。
其中,原始ShareGPT数据集包含大约90,000个对话,而只有6,000个经过清理的GPT-4对话被保留用于微调。
清洗后的GPT-4对话与对话模板和回合结束时的令牌相结合,然后根据模型的上下文限制进行截断(超出限制的内容将被丢弃)。
要运行数据处理过程,请执行以下命令:
。/ochat/data/run _ data _ pipeline . shinput _ folder output _ folder输入文件夹应包含一个ShareGPT文件夹,该文件夹包含。每个ShareGPT对话页面的html文件。
数据处理流程包括三个步骤:
–清理:清理并转换HTML为Markdown格式,删除格式错误的对话,删除有被屏蔽词的对话,基于hash进行精准去重。
–过滤器:仅保留令牌型号为GPT-4的对话。
–转换:为了微调模型,所有的对话都被转换和分段。
最终转换的数据集遵循以下格式:
MODEL _ type . train . JSON/. eval . JSON
[
[token_id_list,supervisor _ mask _ list],[token_id_list,supervisor _ mask _ list],...
]
从token_id_list解码的model _ type.train.text.json/.eval.text.json纯文本。
此外,研究人员还提供了视觉对话嵌入的工具。
只需用浏览器打开ochat/visualization/ui/visualizer . html,将MODEL_TYPE.visualizer.json拖放到网页中即可。单击3D图中的点以显示相应的对话。
其中,利用openai_embeddings.py创建嵌入,然后利用dim_reduction.ipynb进行UMAP降维和K-Means着色
模型修改研究人员为每个基本模型添加了一个EOT令牌。
对于LLaMA模型,EOT的嵌入被初始化为所有现有令牌嵌入的平均值。对于StarCoder模型,EOT的嵌入以0.02标准差随机初始化。
对于8192上下文的基于LLaMA的模型,max_position_embeddings设置为8192,进行RoPE(相对位置编码)码的外推。
训练模型中使用的超参数在所有模型中都是相同的:
使用8xA100 80GB进行培训:
NUM _ GPU = 8 deep speed-NUM _ GPU = $ NUM _ GPU-module ochat . training _ deep speed . train \-MODEL _ TYPE MODEL _ TYPE \-MODEL _ PATH BASE _ MODEL _ PATH \-save _ PATH target _ folder \-length _ grouping \-epochs 5 \-data _ PATH dataset _ PATH \-deep speed _ config ochat/training _ deep speed/deep speed _ config . JSON求值。
要运行维康娜GPT-4评估,请执行以下步骤:
1.生成模型答案
python-m ochat . evaluation . get _ MODEL _ answer-MODEL _ TYPE MODEL _ TYPE-MODELS _ PATH _ CONTAINING _ ALL _ MODELS _ SAME _ TYPE-data _ PATH。/ochat/evaluation/Vicuna-output _ path。/eval _ results 2。生成基线(GPT-3.5)答案。
open ai _ API _ key = sk-xxxpython-mochat。评价。Get _ openai _ answer-data _ path。/ochat/evaluation/vicuna-output _ path。/eval _ baselines-model _ types GPT-3.5-Turbo 3。运行GPP。
open ai _ API _ key = sk-XXX Python-Mochat。评价。Openai _ eval-data _ path。/Ochat/evaluation/Vicuna-baseline _ path。/eval _ baselines/Vicuna _ GPT-3.5-turbo . jsonl-input。
要可视化并绘制评估结果,请使用浏览器打开ochat/visualization/eval _ result _ ui/eval _ result _ visualizer.html,并选择中的所有文件。/eval _ results/eval _ result _ yyyymmdd文件夹来显示结果。
限制
基本模型限制
尽管OpenLLM可以实现出色的性能,但它仍然受到其底层模型固有的局限性的限制。这些限制可能会在以下方面影响模型的性能:
–复杂推理
–数学和算术任务
–编程和编码挑战
没有信息的错觉。
OpenLLM有时可能会产生不存在或不准确的信息,这也称为“错觉”。用户应该意识到这种可能性,并验证从模型中获得的任何关键信息。
参考资料:
https://github.com/imoneoi/openchat
https://tatsu-lab.github.io/alpaca_eval/
本网站声明:网站内容来源于网络。如有侵权,请联系我们,我们会及时处理。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信,我们会及时处理和回复。
原文地址"斯坦福pi团队成员,ipfs斯坦福大学":http://www.ljycsb.cn/qukuailian/211758.html。

微信扫描二维码投放广告
▲长按图片识别二维码