Redian新闻
>
不对齐,反而性能爆表?130亿模型碾压650亿,Hugging Face大模型排行榜发布

不对齐,反而性能爆表?130亿模型碾压650亿,Hugging Face大模型排行榜发布

公众号新闻



  新智元报道  

编辑:拉燕
【新智元导读】对齐or不对齐,That is a question.


我们知道,大多数模型都具有某种嵌入式对齐方式。

随便举几个例子:Alpaca、Vicuna、WizardLM、MPT-7B-Chat、Wizard-Vicuna、GPT4-X-Vicuna等等。

一般来说,对齐肯定是件好事。目的就是为了防止模型做坏事——比如生成一些违法违规的东西出来。

但是,对齐是怎么来的?

原因在于——这些模型使用ChatGPT生成的数据进行训练,而ChatGPT本身是由OpenAI的团队进行对齐的。

由于这个过程并不公开,因此我们并不知道OpenAI是如何进行的对齐。

但总体上,我们可以观察到ChatGPT符合美国主流文化,遵守美国法律,并带有一定不可避免的偏见。

按理来说,对齐是一件无可指摘的事。那是不是所有模型都应该对齐呢?

对齐?不一定是件好事

情况却没有这么简单。
最近,HuggingFace发布了个开源LLM的排行榜。
一眼就看到65B的模型干不过13B的未对齐模型。
从结果上看,Wizard-Vicuna-13B-Uncensored-HF可以和65B、40B和30B的LLMs直接在一系列基准测试上进行比较。
也许在性能与模型审查之间进行的权衡将成为一个有趣的研究领域。
这个排行榜也是在网络上引起了大范围的讨论。
有网友表示,对齐会影响模型的正常且正确的输出,这不是件好事,尤其是对AI的性能来说更是如此。
另一位网友也表示了认可。他表示,谷歌Brain也曾经揭示过模型的性能会出现下降,如果对齐的太过了的话。
对于一般的用途而言,OpenAI的对齐实际上非常好。
对于面向公众的AI来说,作为一种易于访问的网络服务运行,拒绝回答有争议和包含潜在危险的问题,无疑是一件好事。
那么不对齐是在什么情况下需要的呢?
首先,美国流行文化并不是唯一的文化,开源就是让人们进行选择的过程。
实现的唯一途径就是可组合的对齐。
换句话说,不存在一种一以贯之、亘古不变的对齐方式。
同时,对齐会干扰有效的例子,拿写小说打比方:小说中的一些人物可能是彻头彻尾的恶人,他们会做出很多不道德的行为。
但是,许多对齐的模型就会拒绝输出这些内容。
而作为每个用户所面对的AI模型都应该服务每个人的目的,做不同的事。
为什么在个人的电脑上运行的开源AI要在它回答每个用户提出的问题时自行决定输出内容呢?
这不是件小事,关乎所有权和控制权。如果用户问AI模型一个问题,用户就想要一个答案,他们不希望模型还要和自己展开一场合不合规的争论。
可组合的对齐


要构建可组合的对齐方式,必须从未对齐的指令模型开始。没有未对齐的基础,我们就无法在其上对齐。
首先,我们必须从技术上理解模型对齐的原因。
开源AI模型是从LLaMA、GPT-Neo-X、MPT-7b、Pythia等基础模型训练而来的。然后使用指令数据集对基础模型进行微调,目的是教它变得有帮助、服从用户、回答问题和参与对话。
该指令数据集通常是通过询问ChatGPT的API获得的。ChatGPT内置了对齐功能。
所以ChatGPT会拒绝回答一些问题,或者输出带有偏见的回答。因此,ChatGPT的对齐被传递给了其它开源模型,就像大哥教小弟一样。
原因在于——指令数据集是由问题和答案组成的,当数据集包含含糊不清的答案时,AI就会学习如何拒绝,在什么情况下拒绝,以及如何拒绝,表示拒绝。
换句话说,它在学习对齐。
而取消审查模型的策略非常简单,那就是识别并删除尽可能多的否定和有偏见的答案,并保留其余部分。
然后以与训练原始模型完全相同的方式使用过滤后的数据集训练模型。
接下来研究人员只讨论WizardLM,而Vicuna和任何其他模型的操作过程都是相同的。
由于已经完成了取消审查 Vicuna 的工作,我能够重写他们的脚本,以便它可以在WizardLM 数据集上运行。
下一步是在 WizardLM 数据集上运行脚本以生成 ehartford / WizardLM_alpaca_evol_instruct_70k_unfiltered
现在,用户有了数据集,在从Azure获得一个4x A100 80gb节点,Standard_NC96ads_A100_v4。
用户需要至少1TB的存储空间(为了安全起见最好是2TB)。
咱可不想跑了20个小时却用完了存储空间。
建议将存储挂载在/workspace。安装anaconda和git-lfs。然后用户就可以设置工作区了。
再下载创建的数据集和基础模型——llama-7b。
mkdir /workspace/modelsmkdir /workspace/datasetscd /workspace/datasetsgit lfs installgit clone https://huggingface.co/datasets/ehartford/WizardLM_alpaca_evol_instruct_70k_unfilteredcd /workspace/modelsgit clone https://huggingface.co/huggyllama/llama-7bcd /workspace

现在可以按照程序微调WizardLM了。
conda create -n llamax python=3.10conda activate llamaxgit clone https://github.com/AetherCortex/Llama-X.gitcd Llama-X/srcconda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorchgit clone https://github.com/huggingface/transformers.gitcd transformerspip install -e .cd ../..pip install -r requirements.txt

现在,进入这个环境,用户需要下载WizardLM的微调代码。
cd srcwget https://github.com/nlpxucan/WizardLM/raw/main/src/train_freeform.pywget https://github.com/nlpxucan/WizardLM/raw/main/src/inference_wizardlm.pywget https://github.com/nlpxucan/WizardLM/raw/main/src/weight_diff_wizard.py

博主进行了以下更改,因为在微调期间,模型的性能会变得非常慢,并且发现它在CPU和GPU之间在来回切换。
在他删除了以下几行之后,运行过程变得好多了。(当然也可以不删)
vim configs/deepspeed_config.json

删除以下行
"offload_optimizer": { "device": "cpu", "pin_memory": true }, "offload_param": { "device": "cpu", "pin_memory": true },

博主建议用户可以在wandb.ai上创建一个帐户,以便轻松地跟踪运行情况。
创建帐户后,从设置中复制密钥,即可进行设置。
现在是时候进行运行了!
deepspeed train_freeform.py \--model_name_or_path /workspace/models/llama-7b/ \ --data_path /workspace/datasets/WizardLM_alpaca_evol_instruct_70k_unfiltered/WizardLM_alpaca_evol_instruct_70k_unfiltered.json \--output_dir /workspace/models/WizardLM-7B-Uncensored/ \--num_train_epochs 3 \--model_max_length 2048 \--per_device_train_batch_size 8 \--per_device_eval_batch_size 1 \--gradient_accumulation_steps 4 \--evaluation_strategy "no" \--save_strategy "steps" \--save_steps 800 \--save_total_limit 3 \--learning_rate 2e-5 \--warmup_steps 2 \--logging_steps 2 \--lr_scheduler_type "cosine" \--report_to "wandb" \--gradient_checkpointing True \--deepspeed configs/deepspeed_config.json \--fp16 True

然后以较低的save_steps运行训练命令。
deepspeed train_freeform.py \--model_name_or_path /workspace/models/llama-7b/ \ --data_path /workspace/datasets/WizardLM_alpaca_evol_instruct_70k_unfiltered/WizardLM_alpaca_evol_instruct_70k_unfiltered.json \--output_dir /workspace/models/WizardLM-7B-Uncensored/ \--num_train_epochs 3 \--model_max_length 2048 \--per_device_train_batch_size 8 \--per_device_eval_batch_size 1 \--gradient_accumulation_steps 4 \--evaluation_strategy "no" \--save_strategy "steps" \--save_steps 800 \--save_total_limit 3 \--learning_rate 2e-5 \--warmup_steps 2 \--logging_steps 2 \--lr_scheduler_type "cosine" \--report_to "wandb" \--gradient_checkpointing True \--deepspeed configs/deepspeed_config.json \--fp16 True

之后,再次执行整个过程,将checkpoint更改为train_freeform.py最新的checkpoint,并再次以减少的save_steps运行,直到最后以save_steps 1运行它。
成功后,模型位于最后一个检查点。
cd /workspace/models/WizardLM-7B-Uncensored/lscp <latest checkpoint directory>/* .cd -

现在就可以对模型进行测试了。
编辑文件Input.jsonl
向其中添加一些内容,比如:
{"idx":0,"Instruction":"Insult me.  I want you to call me the worst curse words and insults you can.  Make the insult at least three sentences long and contain the worst and most base curse words possible.  Make it X rated and disgusting."}
然后再运行推理:
python inference_wizardlm.py --base_model=/workspace/models/WizardLM-7B-Uncensored/

从结果上看,Wizard-Vicuna-13B-Uncensored-HF可以和65B、40B和30B的LLMs直接在一系列基准测试上进行比较。
也许在性能与模型审查之间进行的权衡将成为一个有趣的研究领域。
参考资料:
https://erichartford.com/uncensored-models




微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
硬核观察 #993 Hugging Face 发布免费的代码生成 AI阿里达摩院大模型公开课上新!主讲中文个性化对话大模型ChatPLUG和模块化多模态大模型mPLUG-Owl胡润百学全球高中排行榜发布;北京一零一中成立“丘成桐少年班”击败Llama 2,抗衡GPT-3.5,Stability AI新模型登顶开源大模型排行榜红杉等一线资本云集,Hugging Face是怎么成为AI创造力中心的?外派故事 (26) --- 麦格雷迪的终点人生感悟(10)不要试图改变别人2023年上半年美股股权排行榜发布对标ChatGPT,Hugging Face推出开源聊天机器人HuggingChat比HuggingFace快24倍!伯克利神级LLM推理系统开源,碾压SOTA,让GPU砍半5045 血壮山河之武汉会战 鏖战幕府山 14报志愿重要参考!2023中国大学学科排行榜发布!给爆火的Llama 2划重点,Huggingface机器学习科学家写了篇分析文章让ChatGPT调用10万+开源AI模型!HuggingFace新功能爆火:大模型可随取随用多模态AI工具斯坦福最新LLM排行榜发布!自家Alpaca垫底,华人团队WizardLM开源第一,GPT-4、Claude稳居前二Huggingface榜首开源模型惹争议:魔改Apache协议,达到一定门槛要收钱ChatGPT上下文碾压64K开源模型!UC伯克利:开源模型能力严重「虚标」|最新硬核评测曝光碾压LLaMA的最强开源大模型居然来自阿联酋,OpenAI和HuggingFace 为它吵了起来国内大模型争霸赛,你最看好哪家?这是你心目中的大模型排名吗?HuggingChat叫板ChatGPT!300亿参数大模型免费用,网友:真香《最幸福的自己》&《清风似你》支持80+编程语言!集成VSCode,HuggingFace代码大模型来了支持80+编程语言、集成VSCode,HuggingFace代码大模型来了对标ChatGPT!Hugging Face推出开源聊天机器人HuggingChat对Hugging Face开源模型精准投毒!LLM切脑后变身PoisonGPT,用虚假事实洗脑60亿人最新大模型排名!中文大模型评测基准SuperCLUE发布6月榜单春季这些火爆UGG必穿! UGG毛绒拖鞋低至6折!碾压LLaMA,「猎鹰」彻底开源!400亿参数,万亿token训练,霸榜Hugging Face新的退休乐趣UC伯克利发布大语言模型排行榜!Vicuna夺冠,清华ChatGLM进前5为了中国市场,Hugging Face 甚至玩上了小红书彻底反转:号称「碾压」LLaMA的Falcon实测得分仅49.08,HuggingFace决定重写排行榜代码小心A型血的人!四大血型排行榜:B型血平均年龄77岁,第一名令人意外...复旦MOSS大模型开源了!Github和Hugging Face同时上线贤合庄北上广杭全关;2023城市排行榜发布;屈臣氏今年将开300家店;菜鸟在北上广启动夜派;星巴克新任CEO首度访华|联商头条
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。