AWS推出全新代码生成模型,加入Amazon SageMaker JumpStart平台

2023年11月01日 由 daydream 发表 338 0

AWS最近宣布Amazon SageMaker JumpStart上有两个新的基础模型可供使用:Code Llama和Mistral 7B。用户只需单击即可部署这些模型,为AWS用户提供用于代码生成任务的私有推理终端节点。


Code Llama是Meta的Llama 2基础模型的调优版本,采用相同的许可证。它有三个变体:基础版、Python版和Instruct版,每个变体又有三种模型大小:7B、13B和34B参数,共计九种选项。除了代码生成,它还可以执行代码填充,而Instruct模型可以按照聊天式的自然语言指令进行操作。Mistral 7B是一个拥有70亿参数的大型语言模型(LLM),采用Apache 2.0许可证发布。Mistral 7B有两个变体:基础版和Instruct版。除了代码生成,Mistral 7B还是一个通用的文本生成模型,其性能接近Code Llama 7B,并在所有自然语言处理基准测试中超过较大的Llama 2 13B基础模型。根据AWS的说法:


“今天,我们非常高兴地宣布通过Amazon SageMaker JumpStart向客户提供由Meta开发的Code Llama基础模型,可通过一键部署进行推理。Code Llama是一款先进的大型语言模型(LLM),能够从代码和自然语言提示中生成代码和自然语言。Code Llama可免费用于研究和商业用途。您可以尝试使用SageMaker JumpStart来运行这个模型,SageMaker JumpStart是一个机器学习(ML)中心,提供算法、模型和ML解决方案的访问权限,让您可以快速入门ML。”


Mistral 7B模型支持最长8k个令牌的上下文长度。这种较长的上下文可以用于一些任务中的“少样本”内上下文学习,例如问答任务或保留聊天历史记录。Instruct变体支持一种特殊的多轮提示格式:


<s>[INST] {user_prompt_0} [/INST] {assistant_response_0} </s><s>[INST] {user_prompt_1} [/INST]

不同尺寸的Code Llama模型支持不同的上下文长度:分别为10k、32k和48k;然而,7B模型仅在ml.g5.2xlarge实例类型上支持10k个标记。所有模型都能执行代码生成,但只有7B和13B模型能进行代码填充。这个任务会通过给模型提供代码前缀和代码后缀来引导模型生成应放置在它们之间的代码。在提示中,有特殊的输入标记<PRE>、<SUF>和<MID>来标记它们在提示中的位置。模型可以按照后缀-前缀-中间(SPM)和前缀-后缀-中间(PSM)两种不同顺序接受这些部分。Meta关于Code Llama的论文建议在“前缀不以空格或标记边界结束”时使用PSM格式。PSM格式如下:


<PRE> {prefix_code} <SUF>{suffix_code} <MID>

Code Llama的Instruct版本设计用于类似对话的交互,并且根据Meta的说法在多个NLP基准测试中“显著提高了性能”,尽管代码生成成本适中。这个模型的一个示例应用是以自然语言提出的问题生成和解释基于代码的解决方案,例如如何使用Bash命令来完成特定任务。Code Llama Instruct采用了与Mistral 7B类似的特殊提示格式,并提供“系统”提示的选项:


<s>[INST] <<SYS>>
{system_prompt}
<</SYS>>

{user_prompt_0} [/INST] {assistant_response_0} </s><s>[INST] {user_prompt_1} [/INST]

Code Llama的公告中提到,这些模型可在美国东部(弗吉尼亚北部)、美国西部(俄勒冈州)和欧洲(爱尔兰)地区使用。AWS尚未宣布Mistral可用的地区。

文章来源:https://www.infoq.com/news/2023/10/sagemaker-jumpstart-code/
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消