扫一扫分享
llamafile项目的目标是让开发人员和终端用户更容易访问开源大型语言模型。为此,llamafile项目将llama.cpp与Cosmopolitan Libc结合到一个框架中,将 LLM 的所有复杂性压缩为一个可在大多数计算机上(同时支持 macOS, Windows, Linux, FreeBSD, OpenBSD, NetBSD系统)本地运行的可执行文件(称为“llamafile”),无需安装。
llama.cpp由Georgi Gerganov开发,用于以量化格式运行大型语言模型,因此它们可以在CPU上运行。llama.cpp 是一个 C 库,它允许我们在消费类硬件上运行量化的 LLM。另一方面,cosmopolitan libc 是另一个 C 库,它构建了一个可以在任何操作系统(Windows、Mac、Ubuntu)上运行的二进制文件,而无需解释器。因此,Llamafile 建立在这些库之上,这使得它可以创建单文件可执行的 LLM
可用模型采用 GGUF 量化格式。GGUF是由llama.cpp的创建者Georgi Gerganov开发的大型语言模型文件格式。GGUF 是一种用于在 CPU 和 GPU 上有效且高效地存储、共享和加载大型语言模型的格式。GGUF 使用量化技术将模型从原始的 16 位浮点压缩为 4 位或 8 位整数格式。此量化模型的权重可以以这种 GGUF 格式存储
这使得 70 亿参数模型在具有 16GB VRAM 的计算机上运行变得更加简单。我们可以在不需要 GPU 的情况下运行大型语言模型(尽管 Llamafile 甚至允许我们在 GPU 上运行 LLM)。现在,流行的开源大型语言模型(如 LlaVa、Mistral 和 WizardCoder)的 llamafile 随时可供下载和运行
示例模型:Qwen-7B-Chat/Qwen-7B-Chat-q4_0.llamafile,这个模型是 70 亿参数的 int4 量化版本,4.23GB。
使用modelscope的lib下载单个文件:
from modelscope.hub.file_download import model_file_download
model_dir = model_file_download(model_id='bingal/llamafile-models',file_path='Qwen-7B-Chat/Qwen-7B-Chat-q4_0.llamafile',revision='master')
手机预览