amd发布了自己的首个小语言模型(slm),名为“amd-135m”。
相比于越来越庞大的大语言模型(llm),它体积小巧,更加灵活,更有针对性,非常适合私密性、专业性很强的企业部署。
amd-135小模型隶属于llama家族,有两个版本:
一是基础型“amd-llama-135m”,拥有多达6700亿个token,在八块instinct mim250 64gb加速器上训练了六天。
二是延伸型“amd-llama-135m-code”,额外增加了专门针对编程的200亿个token,同样硬件训练了四天。
创建与部署流程
它使用了一种名为“推测解码”(speculative decoding)的方法,通过较小的草稿模型,在单次前向传播中生成多个候选token,然后发送给更大的、更精确的目标模型,进行验证或纠正。
这种方法可以同时生成多个token,不会影响性能,还可以降低内存占用,但因为数据交易更多,功耗也会增加。
amd还使用amd-llama-135m-code作为codellama-7b的草案模型,测试了推测解码使用与否的性能。
比如在mi250加速器上,性能可提升最多约2.8倍,锐龙ai cpu上可提升最多约3.88倍,锐龙ai npu上可提升最多约2.98倍。
推测解码
amd-135m小模型的训练代码、数据集等资源都已经开源,遵循apache 2.0。
按照amd的说法,它的性能与其他开源小模型基本相当或略有领先,比如hellaswag、sciq、arc-easy等任务超过llama-68m、llama-160m,hellaswag、winogrande、sciq、mmlu、arc-easy等任务则基本类似gtp2-124mn、opt-125m。