🎉 亲爱的广场小伙伴们,福利不停,精彩不断!目前广场上这些热门发帖赢奖活动火热进行中,发帖越多,奖励越多,快来 GET 你的专属好礼吧!🚀
1️⃣ #TokenOfLove# |广场音乐节打 CALL
为偶像打 CALL,Gate 广场送你直达 Token of Love!泫雅、SUECO、DJ KAKA、CLICK#15 —— 你最想 pick 谁?现在在广场带上 歌手名字 + TokenOfLove 标签发帖应援,就有机会赢取 20 张音乐节门票。
详情 👉 https://www.gate.com/post/status/13214134
2️⃣ #GateTravel旅行分享官# |晒旅程赢好礼
广场家人们注意啦,Gate Travel 已经上线。带话题发帖,分享你的 Gate Travel 旅行体验、心愿清单、使用攻略或趣味见闻,就有机会获得旅行露营套装、速干套装、国际米兰旅行小夜灯等好礼!
详情 👉 https://www.gate.com/post/status/13172887
3️⃣ #内容挖矿# |发帖还能赚钱
广场长期活动进行中,最高可享 10% 手续费返佣!发布优质内容,如行情解析、交易观点等,吸引更多用户点赞和评论。若用户在互动后 180 分钟内完成现货或合约交易,你将获得最高 10% 的手续费返佣!
详情 👉 https://www.gate.
发布一天,Code Llama代码能力突飞猛进,微调版Human_得分超GPT-4
昨天,Meta 开源专攻代码生成的基础模型Code Llama,可免费用于研究以及商用目的。
Code Llama 系列模型有三个参数版本,参数量分别为7B、13B 和34B。并且支持多种编程语言,包括 Python、C++、Java、PHP、Type (Java)、C# 和 Bash。
Meta 提供的 Code Llama 版本包括:
就其效果来说,Code Llama 的不同版本在 Human 和 MBPP 数据集上的一次生成通过率(pass@1)都超越 GPT-3.5。
此外,Code Llama 的「Unnatural」34B 版本在 Human 数据集上的 pass@1接近了 GPT-4(62.2% vs67.0%)。不过 Meta 没有发布这个版本,但通过一小部分高质量编码数据的训练实现了明显的效果改进。
一天刚过,就有研究者向 GPT-4发起了挑战。他们来自 Phind(一个组织,旨在构造一款为开发人员而生的AI 搜索引擎),该研究用微调的 Code Llama-34B 在 Human 评估中击败了 GPT-4。
Phind 联合创始人 Michael Royzen 表示:「这只是一个早期实验,旨在重现(并超越)Meta 论文中的「Unnatural Code Llama」结果。将来,我们将拥有不同 CodeLlama 模型的专家组合,我认为这些模型在现实世界的工作流程中将具有竞争力。」
接下来我们看看这项研究是如何实现的。
微调 Code Llama-34B 击败 GPT-4
我们先看结果。这项研究用 Phind 内部数据集对 Code Llama-34B 和 Code Llama-34B-Python 进行了微调,分别得到两个模型 Phind-CodeLlama-34B-v1以及 Phind-CodeLlama-34B-Python-v1。
新得到的两个模型在 Human 上分别实现了67.6% 和69.5% pass@1。
作为比较,CodeLlama-34B pass@1为48.8%;CodeLlama-34B-Python pass@1为53.7%。
而 GPT-4在 Human 上 pass@1为67%(OpenAI 在今年3月份发布的「GPT-4Technical Report」中公布的数据)。
谈到微调,自然少不了数据集,该研究在包含约8万个高质量编程问题和解决方案的专有数据集上对 Code Llama-34B 和 Code Llama-34B-Python 进行了微调。
该数据集没有采用代码补全示例,而是采用指令 - 答案对,这与 Human 数据结构不同。之后该研究对 Phind 模型进行了两个 epoch 的训练,总共有约16万个示例。研究者表示,训练中没有使用 LoRA 技术,而是采用了本地微调。
此外,该研究还采用了 DeepSpeed ZeRO3和 Flash Attention2技术,他们在32个 A100-80GB GPU 上、耗时三个小时,训练完这些模型,序列长度为4096个 token。
此外,该研究还将 OpenAI 的去污染(decontamination)方法应用于数据集,使模型结果更加有效。
众所周知,即便是非常强大的 GPT-4,也会面临数据污染的困境,通俗一点的讲就是训练好的模型可能已经接受评估数据的训练。
这个问题对 LLM 非常棘手,举例来说,在评估一个模型性能的过程中,为了进行科学可信的评估,研究者必须检查用于评估的问题是否在模型的训练数据中。如果是的话,模型就可以记住这些问题,在评估模型时,显然会在这些特定问题上表现更好。
这就像一个人在考试之前就已经知道了考试问题。
为了解决这个问题,OpenAI 在公开的 GPT-4技术文档《 GPT-4Technical Report 》中披露了有关 GPT-4是如何评估数据污染的。他们公开了量化和评估这种数据污染的策略。
具体而言,OpenAI 使用子串匹配来测量评估数据集和预训练数据之间的交叉污染。评估和训练数据都是通过删除所有空格和符号,只保留字符(包括数字)来处理的。
对于每个评估示例,OpenAI 随机选择三个50个字符的子字符串(如果少于50个字符,则使用整个示例)。如果三个采样的评估子字符串中的任何一个是处理后的训练样例的子字符串,则确定匹配。
这将产生一个受污染示例的列表,OpenAI 丢弃这些并重新运行以获得未受污染的分数。但这种过滤方法有一些局限性,子串匹配可能导致假阴性(如果评估和训练数据之间有微小差异)以及假阳性。因而,OpenAI 只使用评估示例中的部分信息,只利用问题、上下文或等效数据,而忽略答案、回应或等效数据。在某些情况下,多项选择选项也被排除在外。这些排除可能导致假阳性增加。
关于这部分内容,感兴趣的读者可以参考论文了解更多。
论文地址:
不过,Phind 在对标 GPT-4时使用的 Human 分数存在一些争议。有人说,GPT-4的最新测评分数已经达到了85%。但 Phind 回复说,得出这个分数的相关研究并没有进行污染方面的研究,无法确定 GPT-4在接受新一轮测试时是否看到过 Human 的测试数据。再考虑到最近一些有关「GPT-4变笨」的研究,所以用原始技术报告中的数据更为稳妥。
参考链接: