我们可以微调语言模型,如BERT
、GPT-3
。
我可以微调GitHub Copilot
模型吗?
我已经看过了https://copilot.github.com/的例子,但找不到细节。
如果有人能很好地调好吉顿副驾驶仪,我会很感激的。
发布于 2022-06-22 16:25:11
似乎没有一个面向客户的功能,允许您微调副驾驶的直接。
这里有两个例子来说明为什么目前(Q2 2022)缺少这个特性。
副驾驶特征页最初包括以下内容:
随着时间的推移,GitHub副驾驶将如何变得更好? GitHub副驾驶实际上并不测试它建议的代码,所以代码甚至可能不会编译或运行。GitHub Copilot只能容纳非常有限的上下文,因此即使是超过几百行的单个源文件也会被裁剪,并且只使用前面的上下文。GitHub副驾驶可能建议对库和语言进行旧的或不推荐的使用。您可以在任何地方使用代码,但这样做需要您自己承担风险。
实际上,副驾驶的完成将总是被优化为人类的喜好,而不一定是编译器的喜欢。 这是因为语言模型的训练目标(预测文本中的下一个标记)在捕捉短期依赖(这解释了生成的片段的人类感觉)方面非常出色。 但它很难捕捉生成序列的长期、全局、语义属性,比如可编译性。没有一种简单的方法可以将可编译性作为他们训练的信号。 标准的方法--使用具有可编译性的RL作为奖励--微调语言模型--众所周知会导致灾难性的遗忘:更少的多样性和更少的精确完成。
Tomek引用"可编译约束下基于能量的代码生成模型(pdf)“
我们的解决方案(KL)将生成序列的可编译性从55%提高到70%.
RL微调可以做得更好,但代价是灾难性的遗忘。
总的来说,基于能量的模型(EBM)在表达奇怪的、序列级的约束方面表现得非常出色,这些约束很难表示为自回归语言模型的规范化优先。
EBMs提供了一种将我们结构化的、象征性的知识注入到大型语言模型中的方法,而不破坏它们或牺牲它们的不可思议的能力。
在可控发电中的进一步应用空间是巨大的。
所以没那么容易。
塔尼什克·马修斯·亚伯拉罕在"用GitHub副驾驶仪进行编码“中解释
我想知道GitHub团队是否也会开发一种方法,将GitHub副驾驶仪微调到特定的用例。 例如,fastai、JAX等可能有一个特定的GitHub副驾驶模型,它们将对这些库的源代码和使用这些库的代码库进行微调。 但是,确保该工具没有提供过时的建议仍然是一项挑战。 我不认为为一个全新的库提供建议是不可能的,因为它没有足够的代码库来进行培训。 此外,对于像filtered这样有旧API和较新API的情况,当对模型进行微调时,使用旧API的代码库必须被过滤掉。
发布于 2022-07-03 06:54:28
OpenAI API提供了"Davinci Codex“机器学习模式,按点击付费订阅,类似于davinci模型的非编码版本。
OpenAI也应该支持对Davinci的微调选项。当他们这样做时,您将能够通过API调用使用它。
在检查了这一先决条件之后,我认为您可以通过一些代码更改将OpenAI API链接到您的本地安装Github,理论上这应该是可能的。
第一步可能是拥有一个名为copilot VSCode扩展的分支,它调用OpenAI Codex (或者是一个完全自定义的扩展,它在代码中插入文本)。
然后你会把它指向你的微调版本的模型。要了解如何微调OpenAI模型,您应该查看它们的文档:
请注意,它们还有一个openai
CLI,它允许您执行大多数数据加载和微调任务。
不幸的是,目前您只能微调非编码版本的OpenAI模型,希望他们将尽快提供Codex。
发布于 2022-06-28 23:05:19
没关系,您请。在客户端的系统中没有存储GitHub飞行员的模型,也没有提供对模型的访问,因为现在他们已经开始为他们的服务收费,因此更明显的是,他们的项目不是也不会是开源的。
https://stackoverflow.com/questions/72554328
复制相似问题