Rust 语言从入门到实战
唐刚
Rust 语言中文社区联合创始人
5266 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 36 讲
Rust 语言从入门到实战
15
15
1.0x
00:00/00:00
登录|注册

23|Rust与大模型:用 Candle 做一个聊天机器人

你好,我是 Mike。今天我们来聊一聊如何用 Rust 做一个基于大语言模型的聊天机器人。
大语言模型(LLM)是 2023 年最火的领域,没有之一。这波热潮是由 OpenAI 的 ChatGPT 在今年上半年发布后引起的,之后全世界的研究机构和科技公司都卷入了大模型的竞争中。目前业界应用大模型训练及推理的主要语言是 Python 和 C/C++。Python 一般用来实现上层框架,而 C/C++ 一般起底层高性能执行的作用,比如著名的框架 PyTorch,它的上层业务层面是用 Python 写的,下层执行层面由 C 执行,因为 GPU 加速的部分只能由 C/C++ 来调用。
看起来大语言模型好像和 Rust 没什么关系,必须承认,由于历史积累的原因,在 AI 这一块儿 Rust 的影响力还非常小。但从另一方面来讲呢,Rust 是目前业界除 Python、C++ 外,唯一有潜力在未来 20 年的 AI 发展中发挥重要作用的语言了。为什么这么说呢?
首先 Rust 的性能与 C/C++ 一致,并且在调用 GPU 能力方面也同样方便;其次,Rust 强大的表达能力,不输于 Python,这让人们使用 Rust 做业务并不难;然后,Rust 的 cargo 编译成单文件的能力,以及对 WebAssembly 完善的支持,部署应用的时候非常方便,这比 Py + C/C++ 组合需要安装的一堆依赖和数 G 的库方便太多。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Rust语言在AI领域的应用备受关注,尤其在大语言模型(LLM)的训练和推理方面展现出了独特的优势。本文介绍了Rust语言在大模型应用上的优势,以及介绍了ChatGPT、LLaMA和量子化方法等内容,为读者提供了对Rust在AI领域的应用和发展趋势的全面了解。文章重点介绍了ChatGPT和LLaMA,以及其在大模型文件格式和量子化方法上的创新。特别是LLaMA的量子化方法,将权重从16位量子化到2位,大大减小了内存占用,促进了LLM生态的进一步繁荣。此外,文章还介绍了Rust生态中的几个优秀的机器学习框架,其中以Candle为例进行了详细介绍。Candle是一个极小主义的机器学习框架,支持HuggingFace上的大多数模型,具有简单的语法和CPU、Cuda、Metal的支持,同时也支持模型训练和分布式计算。文章还提供了使用Candle框架创建聊天机器人的示例,展示了其在实际应用中的灵活性和便利性。总的来说,本文通过介绍Rust语言在大模型应用上的优势,以及介绍了ChatGPT、LLaMA和量子化方法等内容,为读者提供了对Rust在AI领域的应用和发展趋势的全面了解。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Rust 语言从入门到实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(13)

  • 最新
  • 精选
  • tan
    wsl: Error: No such file or directory (os error 2) . 处理:simple.rs中 tikenizer和model的参数写全[/mnt/xx/xx/openchat_3.5_tokenizer.json]

    作者回复: 👍

    2024-01-15归属地:重庆
    2
    1
  • eriklee
    "首先 Rust 的性能与 C/C++ 一致,并且在调用 GPU 能力方面也同样方便" rust目前应该还不能直接访问cuda吧?毕竟cuda是c接口

    作者回复: 有了c接口,就等于有了rust接口,因为rust调用c接口没有性能损耗。

    2024-01-13归属地:北京
    1
  • 听雨
    老师,我下载到了window下的子Linux中运行,报OS error。请问是不是不支持在这里面运行啊

    作者回复: 我在wsl中测过,可以的。如果想要wsl支持图形界面应用,需要update到最新版wsl。

    2023-12-23归属地:四川
    1
  • Geek_3b58b9
    Candle 要是支持 ROCm 就更好了

    作者回复: 对的,可以做这方面的工作

    2024-02-04归属地:江苏
  • tan
    WSL: linker `cc` not found 处理方式: sudo apt update && sudo apt install build-essential

    作者回复: 👍

    2024-01-15归属地:重庆
  • eriklee
    老师能对比下candle和burn吗? 另外,感觉rust优势是边缘端推理,毕竟边缘侧资源紧张. 服务器端推理,毕竟还是比不过python生态

    作者回复: 你的分析中短期内一定是对的。在学术界rust一定干不过python。 burn也很优秀,但是背后资源没有candle多。两个框架都希望能快点发展起来。

    2024-01-13归属地:北京
  • 鸠摩智
    老师,请问一下,可以下载别人训练好的模型,通过candle 来实现根据需求描述自动生成测试用例的这种功能吗?

    作者回复: 这个方向可以尝试的,需要用到code 生成的模型。这是个非常有趣的方向。

    2024-01-06归属地:江苏
  • superggn
    mac 2021 款 intel 芯片, 系统版本 Montery 12.5.1 会卡住, model built 之后输入一个 hello 就不动了, 要过 5 分钟以上才会有回复

    作者回复: 对电脑要求有点高

    2024-01-02归属地:北京
  • Geek_54dac1
    该模型在 Candle 中还暂时不支持在 GPU 上运行,因为 Quantized models on Cuda 还不支持,参考:https://github.com/huggingface/candle/issues/1250;避免大家挖坑

    作者回复: 很棒的探索和分享👍

    2023-12-15归属地:四川
  • 无限可能
    老师好,大模型小白有几个问题。通过 huggingface-cli scan-cache,扫描了一下 huggingface 下载过的文件,都是 7G 或者更大: 1. 这些模型文件里主要是什么内容,是包括了数据么?为啥会这么大? 2. 类似这么大的文件,一定要下载到本地么,是否可以云部署之类,可以用完销毁。 3. 我理解,我想要运行本节课的demo,这 7G 的空间就是要长期规划出去了吧

    作者回复: 1。主要是预训练神经网络模型权重数据 2。要下载到本地,要加载到显存或者内存中运行 3。是的

    2023-12-15归属地:北京
    3
收起评论
显示
设置
留言
13
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部