秒杀自动编码Copilot!「动嘴编程」神器StarChat开源,码农狂喜( 六 )

 
回应:
import pandas as pdimport seaborn as snsfrom matplotlib import pyplot as plt%matplotlib inline
Load data into dataframedf = pd.DataFrame({'Player': ['J. Harden', 'J. Embiid', 'T. Maxey', 'T. Harris', 'P. Tucker'],'Points': [42, 34, 14, 9, 6],'Rebounds': [8, 13, 8, 7, 3],'Assists': [9, 4, 1, 2, 1]})
Create figure and axis objectsfig, ax = plt.subplots()
Plot points vs reboundssns.scatterplot(data=https://www.isolves.com/it/cxkf/bk/2023-05-15/df, x='Rebounds', y='Points', hue='Player',
Remove legend since it overlaps with labels on top of players' namesax.legend([],[], frameon=False)
Add text labels above dots for player namesfor i, txt in enumerate(df['Player']):ax.annotate(txt, (df["Rebounds"][i] +.1, df["Points"][i]))
Set titles and labelsax.set_title('Sixers Player')ax.set_xlabel('Number of Rebounds')ax.set_ylabel('Number of Points')plt.show() 

秒杀自动编码Copilot!「动嘴编程」神器StarChat开源,码农狂喜

文章插图
评估
评估编码助手是非常棘手的,因为研究者关心的,面向用户的指标往往不能在传统的NLP基准中衡量 。
例如,研究者通过EleutherAI的语言模型评估工具运行基础和微调的StarCoderBase模型,以衡量它们在以下基准上的表现: AI2 Reasoning Challenge (ARC):小学阶段的多项选择科学问题 HellaSwag:围绕日常事件的常识性推理 MMLU:57个科目(专业和学术)的多项选择题 TruthfulQA:测试该模型从对抗性选择的不正确陈述中分离事实的能力
结果显示,微调后的模型有所改进,但不是以反映它的对话能力的方式 。
秒杀自动编码Copilot!「动嘴编程」神器StarChat开源,码农狂喜

文章插图
那么,可以做些什么来代替对基准的自动度量呢?到目前为止,学界已经提出了两种主要方法:人工评估:向人类标签者展示为给定提示生成的输出,并按「最佳」和「最差」进行排名 。这是目前用于创建InstructGPT等系统的黄金标准 。
人工智能评估:向像GPT-4这样有能力的语言模型提供生成的输出和一个提示,该提示对模型的质量进行判断 。这就是用来评估LMSYS的Vicuna模型的方法 。
作为一个简单的实验,研究者使用ChatGPT在几种编程语言上测试StarCoder模型 。
为了做到这一点,研究人员首先创建了一个有趣的提示的种子数据集,用于评估 。通过用ChatGPT来启动这个过程,向它提出一些问题,例如:
Generate a bunch of instructions for coding questions in python (in the format of {"prompt": instruction}) 
或者
Can you generate 5 examples of instructions, with the same format {"prompt": text}, where the instruction has a piece of code with a bug, and you're asking for feedback on your code as if you wrote it? 
在第二种情况下,ChatGPT实际上产生了比要求更多的数据 。
现在,这个数据集包含115条提示,主要是Python语言 。四分之三的提示是要求用户提供代码的说明,四分之一的提示要求对有缺陷的代码样本进行反馈 。实验中,研究者要求OpenAI的模型对答案分别进行1-8分的评分,用Vicuna代码提示的修改版来比较回答 。
在这种情况下,指令调整后的StarCoder模型在95.6%的时间里取得了比基础模型更高的分数 。
一个有趣的现象是,与GPT4相比,ChatGPT喜欢在范围的中间位置返回更安全的分数,而GPT4更愿意给1分和8分 。
下面是一个快速的例子,说明LLM评估可以为一个给定的提示和响应对返回什么分数 。
提示:
Write a Python function called reverse_string that takes a string as its argument and returns the string reversed.
指令调整完成(助理2):"Here is an example implementation of the reverse_string function in python:
def reverse_string(input_str):"""Reverse a given input string"""# create empty list to store charactersoutput = []
for char in input_str:# add each character to front of list


推荐阅读