RISC-V跑大模型(一)

描述

在我写本文时,刚好是WAIC 2023举行的时候,感觉无处不是大模型

所以,RISC-V怎么能不刷刷大模型呢?废话不多说,先上图:

ChatGPT

去年,ChatGPT的出现震惊了全世界,在短短几个月的时间内,ChatGPT的月活跃用户达到了1亿。ChatGPT的成功让许多人第一次知道了大语言模型(Large Language Model)的概念,而今年Meta发布的LLaMA则在ChatGPT的基础上又往前跨了一大步,它大大降低了LLM的使用难度,让LLM真正“走进基层”。那LLaMA是什么呢?

1. LLaMA介绍

在介绍LLaMA之前,首先要介绍一下LLM(Large Language Model)。我们可以将LLM看成一位知识渊博的老师,在经过大量的知识学习(大量文本数据的训练)后,LLM会基于它的知识库,给出问题的最佳答案,我们可以使用LLM来完成文本总结、翻译、情感分析等工作。最近几年,是LLM的高速发展期,很多科技巨头都在LLM投入大量的资金。下面是这几年LLM的成果图:

ChatGPT

近年来现有大型语言模型(大小大于10B)的时间表

但对于个人研究者而言,LLM的使用是有一定的门槛,一般的LLM模型对硬件的要求比较高,而一些开发公司出于商业的目的,并不打算将项目的源码进行开源,这都限制了个人研究者从更深的层次去了解LLM,在一定程度上这影响了LLM的发展(Android能有今天地位,离不开开源和方便使用,这为它后来的迅速发展打下了良好的基础)。

好在今年Meta发布的LLaMA(Language Learning through Multimodal Autoregressive Models)给了对LLM感兴趣的开发者另一个选项,相较于其他的LLM模型而言,LLaMA优势在于它足够亲民且开源

从亲民的角度来说,LLaMA的规模仅为ChatGPT的“十分之一”,但性能却优于OpenAI的GPT-3模型,而且LLaMA只是一个基础模型,它完全可以使用公开的数据模型进行训练,这都使得LLaMA的使用门槛被大大降低;从开源的角度来说,LLaMA可以说是被迫开源,因为技术方面的问题,Meta暂缓了开源过程,但在发布后的不久,LLaMA的模型文件就被泄露了,那么,问题来了,这究竟是故意的还是不小心的呢?

2. llama.cpp

llama.cpp是由保加利亚索非亚的Georgi Gerganov基于LLaMA模型开发的纯C版本。Georgi Gerganov是一位资深的开源社区开发者,曾经还为OpenAI的自动语音识别模型开发了whisper.cpp。llama.cpp可以让使用者在没有GPU的情况下也能运行LLaMA模型。

所以它一经发布,就吸引了大量对LLaMA感兴趣的人下载使用,很快就有人找到了在Windows上运行LLaMA的方法,之后又实现了在手机上的运行。llama.cpp大大降低了LLaMA的使用门槛,通过llama.cpp,LLaMA展现了它无与伦比的语言学习能力,为我们打开了一座探索语言世界的新大门。

值得一提的是,Georgi Gerganov在公布llama.cpp后的几个月就自主创业,成立了ggml.ai公司,这个公司的合伙人有GitHub前CEO Nat Friedman和Y-Combinator的Daniel Gross。ggml.ai的成立也引起了许多业内大佬的注意,或许它之后会为AI的发展带来一些不一样的东西。

3. 硬件平台简介

3.1 RISC-V简介

澎峰科技联合创始人王军辉说“2023年是RISC-V高性能计算元年”。因为2023年算能推出了全球第一颗已量产的RISC-V服务器级64核CPU,这意味RISC-V进入高性能计算领域的未来已经不远了。那么,RISC-V到底是什么? 简单来说,RISC-V和我们熟悉的X86、ARM一样,都是指令集架构,但X86属于复杂指令集(CSIC),RISC-V和ARM属于精简指令集(RISC)。

虽然CISC指令丰富功能强大,但随着CISC的逐步发展,过于复杂的指令不仅会导致指令使用率不均衡(效率低),也加大了超大规模集成电路实现的难度。相对的,RISC的优势在于指令简单,使用率均衡,执行效率高。同时,通常基于RISC的芯片易于实现电路设计和大规模集成。

正如文章开篇所展示的,我在基于SG2042的RISC-V平台上完成了LLaMA的移植。LLM和RISC-V都是近两年比较热门的东西,同时又有很大的空白供开发者们探索和建设,所以我觉得把两者结合这是一件很有意思也很有意义的事情。下面简单介绍一下我使用的开发平台。

3.2 平台

RISC-V服务器主板(搭载全球第一颗量产的服务器级64核RISC-V芯片SG2042)

3.3 基本配置

硬件平台配置
CPU SG2042(64 Core@2.0GHz)
DDR 32GB 3200MHz
Local Storage 1T M.2NVMe SSD
操作系统配置
OS Ubuntu
Kernel Linux5.19.17







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分