主要观点:Compute Heavy Industries 对 Meta AI 的 LLM Compiler 发布感到兴奋,其以 llama 架构为基础,针对 LLVM 中间表示和 x86-64 汇编代码训练,有 16k 令牌上下文窗口,有四种操作模式。文中介绍了设置环境(在 Windows Subsytem for Linux 中使用 LLVM 和 llama.cpp)、测试程序(解析 Git LFS 指针文件以提取旧和新对象哈希)、提示参数(包括优化参数、指令计数和二进制大小等)及推理过程(使用 llama.cpp 进行转换和推理),并对不同函数的生成结果进行了评估,指出了一些优点(如在较小函数上的可行性)和不足(如输出格式不便、可能受训练数据影响等)。
关键信息:
- LLM Compiler 相关信息:llama 架构,针对 LLVM IR 和 x86-64 汇编,有 16k 上下文窗口,四种操作模式。
- 测试环境及工具:在 WSL 中使用 LLVM 18 和 llama.cpp,有多种模型版本。
- 测试程序:解析 Git LFS 指针文件的程序,用于测试。
- 提示参数获取:通过编译和处理 LLVM IR 来获取指令计数和二进制大小等参数。
- 推理过程:将 HuggingFace 格式模型转换为 GGUF 格式,使用 llama-cli 进行推理。
- 评估结果:不同函数的生成结果有成功也有失败,存在一些问题如函数跳过、数据引用错误等。
重要细节: - LLM Compiler 训练时函数最大尺寸为 8k 令牌,输出 AT&T 语法的 x86-64 汇编且有 typo。
- 测试程序在函数大小、函数调用和数据引用等方面存在挑战,需进行补丁处理。
- 评估时因时间限制未找到自动化链接生成代码与 LLVM IR 的方法,仅对单个函数进行了测试。
- 输出格式方面,目前的格式不利于程序自动处理,希望能更易于在大型代码项目中验证。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。