首页 » 技术资讯 » 现在只需要100行C语言代码了?(云锦框架代码模型语言)「c语言必备100代码」

现在只需要100行C语言代码了?(云锦框架代码模型语言)「c语言必备100代码」

南宫静远 2024-07-23 22:06:50 技术资讯 0

扫一扫用手机浏览

文章目录 [+]

序言

云锦微的核心技术 VT-Transformer

作为GitHub上全球第二、中国唯一的开源C++计算框架,

现在只需要100行C语言代码了?(云锦框架代码模型语言) 现在只需要100行C语言代码了?(云锦框架代码模型语言) 技术资讯
(图片来自网络侵删)

只需要 100行 C语言代码,

就可以把开源大模型阿里千问全家桶在国产替代芯片上运行起来,

现在只需要100行C语言代码了?(云锦框架代码模型语言) 现在只需要100行C语言代码了?(云锦框架代码模型语言) 技术资讯
(图片来自网络侵删)

已支持的芯片包括中科海光、天数智芯、寒武纪、爱芯元智、Intel X86 CPU以及联发科ARM CPU等,

核心代码1万行,一位C语言工程师就可以掌握,

万元 即可启航大模型+设备的具身智能开发。

极致 · 简单

做每个企业都用得起的人工智能,把具身智能的成本压缩到极致,是云锦微成立的初心,也是云锦微核心价值观的体现。

这份坚持转换到产品和技术语言时,就是“极简”两个字,亦曰“极致和简单”。

代表作就是云锦微的核心技术VT-Transformer。

作为首个国产大模型开源计算框架,VT-Transformer在开发初期就明确了设计原则和技术思路

· 必须是纯C代码,要求直接可编译运行,计算资源使用效率要大幅提升

· 必须是一体化精简框架,不能再被各种庞大冗余的Python深度学习库捆绑

· 必须是面向国产芯片优化的,全面兼容各种开源大模型并提供相应的编译工具

我们相信,只有遵循了“极简”原则的计算框架,才能许给具身智能一个广阔的未来,让大模型在设备上低成本运行。

小型化、开源化、工具化,会是大势所趋。

llm.c 极简新秀

就在昨天,Andrej Karpathy 公布了一个名为 llm.c 的新项目,示范了如何用纯 C 语言去训练 LLM大语言模型,发布几小时就已获得惊人的5000颗星。

Karpathy何许人也?特斯拉前 AI 总监、OpenAI 创始团队成员,开源社区AI板块的顶流大佬。

Karpathy的推文里清晰地列举了llm.c的三个特点:

1)纯C代码,仅1000行!
可以直接编译运行,完全匹配PyTorch的参考实现。

2)减少对一些大型库的依赖,比如245MB的PyTorch和107MB的cPython,这样可以使模型训练过程更为轻量化和高效

3)选择 GPT-2 作为首个工作示例,因为GPT-2是大语言模型的鼻祖,这个起点可以让开发者更容易地理解和实践。

llama.cpp 极简老兵

在llm.c之前,GitHub同样高热度的纯C大模型项目是推理用的llama.cpp,由同样是开源社区顶流AI大佬的Georgi Gerganov发布,截至昨天已获得了54700颗星,非常的惊人。

Georgi Gerganov何许人也?除了llama.cpp外他还发布过wisper.cpp等多个知名项目,其主持的公司ggml.ai在种子轮就获得了GitHub创始人Nat Friedman,以及《时代》周刊2023年评出的全球AI领袖Daniel Gross的投资。

llama.cpp的特点包括:

1)同样是纯C代码,可以直接编译运行

2)同样没有对PyTorch等大型库的依赖,可以使模型推理过程更为轻量化和高效

3)支持Apple和树莓派等端侧设备的ARM芯片加速,这是开源社区中首个适用于端侧设备的极简框架

4)具有F16和F32的混合精度,支持 4-bit 量化,降低硬件计算资源的内存开销

极简时代,纯C当道

llm.c的出现,以及llama.cpp的广泛应用,让我们欣喜地发现,云锦微的极简追求,正在越来越多地被认可,被实现。

小型化、开源化、工具化,已是大势所趋。

只有遵循了“极简”原则的计算框架,才能许给具身智能一个广阔的未来,让大模型在设备上低成本运行。

对照上述llm.c和llama.cpp两个同道中人项目,同样是纯C代码,同样已开源的计算框架vt-transformer,由于其国内唯一且面向国产芯片的定位,在这个时代背景下显得更加可贵。
vt-transformer开源项目已由资深开源社区贡献者,国人周昌博士于去年发布。

周昌博士又是何许人也?周博目前是云锦微CTO,前阿里巴巴达摩院城市大脑视觉大模型研发负责人,曾任国家人工智能开放平台子课题负责人,浙江省科技进步一等奖获得者。

vt-transformer的特点包括:

1)同样是纯C代码,可以直接编译运行

2)同样没有对PyTorch等大型库的依赖,可以使模型推理过程更为轻量化和高效

3)支持各种边端侧国产芯片的计算加速,这是开源社区中首个适用于边端侧算力设备的国产极简框架

4)具有F16和F32的混合精度,支持 4-bit和3-bit 量化,大幅降低硬件计算资源的内存开销

我们可以总结出这几个纯C代码项目的一些共通性:

1)极简高效代码:纯C代码的天然优势,直接编译运行,异常高效。
真男人就用C编程这句谚语真不是盖的,都说AI应用时的算力和电费都非常昂贵,想节约资源,用纯C框架确实是趋势,纯C才是真极简。
llm.c跑GPT-2只用了1000行代码,而vt-transformer支持所有主流开源大模型和国产芯片,更是只用了10000行代码。

网友评论:“我们正在掀起一场 C 语言复兴!

“真男人就应该用 C 语言编程!

而Karpathy本人对纯C的观点也非常硬直:

“我完全理解 Rust 的吸引力。
然而,我仍然觉得 C 语言非常棒。
它简单、干净、可移植,在审美上也十分优美。
使用 C 语言就像直接与机器交流一样。

2)一站式,独立性:没有对PyTorch等大型库的依赖,也可以和CUDA说拜拜了。
一体化的框架,有非常大的好处就是直接避开了各种Python生态的套壳,一方面降低了开发复杂度,另一方面也降低了计算资源的消耗;

3)支持多样化的模型以及编译计算方式。
以vt-transformer为例,目前已支持Llama全系、GLM全系、Qwen全系、Wisper等多种开源大模型,以及近乎无损的4-bit和3-bit量化;

4)支持多样化的异构算力,这个特点在vt-transformer上最为明显,目前已支持包括中科海光、天数智芯、寒武纪、爱芯元智等多种国产芯片加速卡,可以从8T-500T范围全面满足大模型应用市场的算力需求。

事实上,上述几个项目通过纯C代码实现大模型项目,是非常不容易的,因为其中涉及对transformer原理非常极致的理解,并且为了实现极简、小型化方式管理计算资源,还需要对模型、芯片做大量的优化,可以说简单、原始,但又高效、前沿。

尤其在未来前景广阔的具身智能等应用场景中,设备客观会存在算力和内存容量等硬件条件限制,这就要求必须有好用的极简计算框架,才能真正解决“大模型进设备”的关键技术痛点。
云锦微将继续努力,不断完善云锦OS和vt-transformer,为企业大模型应用之路提供最优成本方案。

标签:

相关文章