支持手机运行的多平台开源MLC LLM语言模型
什么是MLC LLM?
MLC LLM 是一个通用的解决方案,可以在各种硬件后端和本地应用程序上原生部署任何语言模型,并为所有人提供一个高效的框架来进一步优化模型性能以适应自己的用例。 我们的使命是使每个人都能够在他们的设备上本地开发、优化和部署 AI 模型。
MLC LLM 是一个旨在实现通用本地部署的项目。近年来,在生成式人工智能(AI)和大型语言模型(LLM)方面取得了显著进展,这些技术越来越普及。现在,通过开源项目,开发者可以使用开源模型开发个人 AI 助手。然而,LLMs 往往需要大量计算资源。为了创建可扩展的服务,开发者可能需要依靠强大的集群和昂贵的硬件来运行模型推理。此外,部署 LLMs 还存在一些挑战,比如不断进化的模型创新、内存限制以及潜在的优化技术需求等。
项目描述
该项目的目标是实现在一系列设备上进行 AI 模型推理的开发、优化和部署,其中不仅包括服务器级硬件,还包括用户的浏览器、笔记本电脑和移动应用程序。为了实现这一目标,我们需要解决计算设备和部署环境的多样性。其中一些关键挑战包括:
- 支持不同型号的 CPU、GPU 和潜在的其他协处理器和加速器。
- 部署在用户设备的本地环境上,这可能没有 Python 或其他必要的依赖项。
- 通过仔细规划分配和积极压缩模型参数等方式解决内存限制问题。
MLC LLM 提供了一种可重复、系统化和可定制的工作流程,赋予开发者和 AI 系统研究人员以生产力为中心的 Python-first 方法,以实现模型和优化的实现。这种方法使得能够快速尝试新模型、新想法和新编译器传递,然后原生部署到所需的目标。此外,我们通过扩展 TVM 后端来扩展 LLM 加速,使模型编译更加透明和高效。
平台支持
所有操作都在本地运行,不需要服务器支持,并且可以在您的手机和笔记本电脑上通过本地 GPU 加速。支持的平台包括:
- iPhone、iPad;
- Android 手机;
- Apple Silicon 和 x86 MacBook;
- 通过 Vulkan 在 Windows 和 Linux 上的 AMD、Intel 和 NVIDIA GPU;
- 通过 CUDA 在 Windows 和 Linux 上的 NVIDIA GPU;
- 在浏览器上通过 WebGPU(通过伴侣项目 WebLLM)。
官方仓库
GitHub:mlc-ai/mlc-llm
安装教程
iPhone
IOS设备需要在应用商店中下载一个名为TestFlight的应用,这款应用的主要功能是软件开发者进行App分发测试所使用的,可以理解为一个小规模的测试苹果商店。TestFlight不好的地方是对于安装APP的用户数量有所限制,目前为9000名用户,但这个功能可以自动刷新,名额满了之后,已下载的用户可能被移除内测资格,但已下载后的APP仍然可以正常使用。所以如果你发现该APP测试人员已满之后,可以明天再来试一下,可能会有新的名额资格。
请尝试此 TestFlight 页面【点击前往】(仅限前 9000 用户)安装和使用 iPhone 构建的示例 iOS 聊天应用程序。Vicuna-7B 需要 4GB 的 RAM,RedPajama-3B 需要 2.2GB 的 RAM 才能运行。考虑到 iOS 和其他正在运行的应用程序,我们需要一部具有 6GB 的最新 iPhone 来运行 Vicuna-7B,或者具有 4GB 的 iPhone 来运行 RedPajama-3B。该应用程序仅在 iPhone 14 Pro Max、iPhone 14 Pro 和 iPhone 12 Pro 上进行过测试。
注意:iOS 应用程序上的文本生成速度可能不稳定。它可能在开始时运行缓慢,然后恢复到正常速度。
提示:如果名额已满,你拥有Apple的开发者账号权限,那么可以尝试自行使用XCode编译IOS APP后安装,本文后面有教程。
Android
下载 APK 文件并在手机上安装。然后,您可以开始与 LLM 进行聊天。当您首次打开应用程序时,需要下载参数,加载过程可能会很慢。在以后的运行中,参数将从缓存中加载(这很快),您可以离线使用应用程序。我们当前的演示依赖于手机上的 OpenCL 支持,并且需要约 6GB 的 RAM。如果您有一部带有最新 Snapdragon 芯片的手机,可以尝试该应用。
我们在 Samsung Galaxy S23 上测试了我们的演示。由于 OpenCL 支持有限,它尚未在 Google Pixel 上工作。
Windows、Linux 和 Mac
我们提供一个 CLI(命令行界面)应用程序,可以在终端中与机器人聊天。在安装 CLI 应用程序之前,我们应该先安装一些依赖项。
我们使用 Conda 来管理我们的应用程序,因此我们需要安装一个版本的 Conda。
对于 Windows 和 Linux,聊天机器人应用程序通过 Vulkan 平台在 GPU 上运行。对于 Windows 和 Linux 用户,请安装最新的 Vulkan 驱动程序。对于 NVIDIA GPU 用户,请确保安装 Vulkan 驱动程序,因为 CUDA 驱动程序可能不太好。
安装所有依赖项后,只需按照以下说明安装 CLI 应用程序:
# 新建conda环境,激活环境。 conda create -n mlc-chat conda activate mlc-chat # 如果尚未安装 Git 和 Git-LFS,请安装。 # 它们用于从 HuggingFace 下载模型权重。 conda install git git-lfs git lfs install # 从 Conda 安装聊天 CLI 应用程序。 conda install -c mlc-ai -c conda-forge mlc-chat-nightly --force-reinstall # 创建目录,从HuggingFace下载模型权重,下载二进制库 # 来自 GitHub。 为预建的 LLM 选择以下“LOCAL_ID”之一。 mkdir -p dist/prebuilt git clone https://github.com/mlc-ai/binary-mlc-llm-libs.git dist/prebuilt/lib # 下载 Vicuna-7B 的预建权重 cd dist/prebuilt git clone https://huggingface.co/mlc-ai/mlc-chat-vicuna-v1-7b-q3f16_0 cd ../.. mlc_chat_cli --local-id vicuna-v1-7b-q3f16_0 # 下载 RedPajama-3B 的预建权重 cd dist/prebuilt git clone https://huggingface.co/mlc-ai/mlc-chat-RedPajama-INCITE-Chat-3B-v1-q4f16_0 cd ../.. mlc_chat_cli --local-id RedPajama-INCITE-Chat-3B-v1-q4f16_0 # 下载 RWKV-raven-1.5B/3B/7B 的预建权重 cd dist/prebuilt git clone https://huggingface.co/mlc-ai/mlc-chat-rwkv-raven-1b5-q8f16_0 # 或 git clone https://huggingface.co/mlc-ai/mlc-chat-rwkv-raven-3b-q8f16_0 # 或 git clone https://huggingface.co/mlc-ai/mlc-chat-rwkv-raven-7b-q8f16_0 cd ../.. mlc_chat_cli --local-id rwkv-raven-1b5-q8f16_0 # 如果您使用 3b 或 7b 模型,请替换您的本地 ID。
Web 浏览器
请查看我们的伴侣项目 WebLLM(如果您对这个感兴趣可以留言,本站后面会单独去讲。),该项目可本地部署模型到浏览器中。这里的所有内容都在浏览器内部运行,无需服务器支持,并使用 WebGPU 加速。
使用评测
以下是关于3B
和7B
模型的使用对比情况示例,使用的手机是IPhone 13 Pro Max。
在使用过程中,会自动弹出7B的模型下载提示,可以直接一键下载。如果想下载其它模型,可以点击Add model variant
按钮,手动添加模型链接。
RedPajama-Chat-3B-v1-builtin-q4f16_0
回答速度倒是挺快的,但是质量极差,可以说是毫无用处的,经过多次测试,默认的3B一直答非所问。
帮我用Python写一个爬虫的代码
回答内容输出如下:
您好,我是 Open Assistant,我是一个人工智能(AI)助理。我可以为您提供有关英语听反的帮助,如有其他需求请提出。 我建议你为爬虫的所有程序提前了解,以便您可以更好地处理它。 例如,爬虫的程序通常会在翱翔之外的地方,在空中或者在地中心,它可以在不幸的情况下出现逃避地处,或者出现一些问题。您可以通过了解它的每个步骤来更好地处理它。 例如,它可能会在空中或在地中心,它可以在不幸的情况下出现逃避地处,或者出现一些问题。您可以通过了解它的每个步骤来更好地处理它。 例如,它可能会在翱翔之外的地方,在空中或者在地中心,它可以在不幸的情况下出现逃避地处,或者出现一些问题。您可以通过了解它的每个步骤来更好地处理它。 在这个例子中,您可以通过了解它的每个步骤来更好地处理它。 您可以参考以下步骤: 1. Take a look at the code: 下载地址:https://github.com/pyrobotics-project/pyrobotics-pyrobotics-example 2. Open the project page: pyrobotics-example/ 3. Choose the appropriate version (master or stable) for your operating system. 4. You can find the necessary instructions in the README file. 5. If you want to use it with ROS, you will need to install the required packages. For example, if you are using ROS 1.0, you will need to install the rosdep required for it. 6. Once you have installed it, you can use it in your ROS applications. 7. If you want to use it with other robotics systems, you will need to find out what kind of hardware you will use it with. 8. If you want to use it as a standalone application, you will need to write the required libraries. 9. If you want to use it as a library, you will need to integrate it with your ROS applications. 10. If you want to use it as a service, you will need to register it with ROS. 11. If you want to use it as a framework, you will need to use it with your other applications. 12. If you want to use it as a cloud service, you will need to configure it with your cloud provider. 13. If you want to use it as a cloud service, you will need to integrate it with your cloud provider. 14. If you want to use
vicuna-v1-7b-q3f16_0
速度极慢,手机严重发热,给出的返回内容也不是完全能看,而且还容易中断。
帮我用Python写一个爬虫的代码
回答内容输出如下:
是的,我可以帮你写一个爬虫的代码。这是一个简单的例子,可能不足爬虫特性。以下代码使用了requests和pymd库。这是一个简单的例子,可能不足爬虫特性。如果你有更多的需求或者想要使用更坦牌的库可downloader的代码框架。如果你有更多的需求或者想要使用更坦牌的库和協��ous 代码框架。如果你有更多的需求或者想要使用更坦牙 库和協��ous 代码框架。如果你有更多的需求或者想要使用更坦牙 库和协作 ``` import requests import json import os import md5 from md5Hash class PNSeOS: def __init__(self, **kwargs): self.parent = PNSeOS self.requests.get('get_characteristic_information', response=Response(self)) self.os = os self.md5 = md5() class Response(object): def __init__(self, requests, cwd=None): self.requests.get('get_characteristic_information', response=Response(self)) self.os = os self.md5 = md5() def get_characteristic_information(self, requests): self.os = os self.md5 = md5() if self.is_hidden(): self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self.os.get_characteristic_information(self))) self.os.send(requests.get(self
本地化编译部署教程
下列内容为本地根据各平台进行自编译的教程,如无特殊需求,没必要阅读。
MLC 如何实现通用本地部署?
我们的解决方案的基石是机器学习编译(MLC),它可以有效地部署 AI 模型。我们借助开源生态系统,包括 Hugging Face 和 Google 的 tokenizer,以及开源 LLMs(如 Llama、Vicuna、Dolly、MOSS、RWKV 等)来构建。我们的主要工作流程基于 Apache TVM Unity,这是 Apache TVM Community 中令人兴奋的持续发展。
- 动态形状:我们将语言模型作为一个带有本地动态形状支持的 TVM IRModule 进行编码,避免了额外的填充最大长度的需要,同时减少了计算量和内存使用量。
- 可组合的 ML 编译优化:我们执行许多模型部署优化,例如更好的编译代码转换、融合、内存规划、库卸载和手动代码优化,可以轻松地将 TVM 的 IRModule 转换作为 Python API 暴露出来。
- 量化:我们利用低位量化来压缩模型权重,并利用 TVM 的循环级 TensorIR 快速定制不同的压缩编码方案的代码生成。
- 运行时:最终生成的库在本地环境上运行,具有最小的依赖项的 TVM 运行时,支持各种 GPU 驱动程序 API 和本地语言绑定(C、JavaScript 等)。
此外,我们还提供了一个基于轻量级 C++ 的示例 CLI 应用程序,展示了如何封装编译后的构件和必要的预处理/后处理,希望能够澄清将它们嵌入本地应用程序的工作流程。 作为起点,MLC 生成了 CUDA、Vulkan 和 Metal 的 GPU 着色器。可以通过改进 TVM 编译器和运行时来添加更多支持,例如 OpenCL、sycl、webgpu-native。MLC 还通过 LLVM 支持包括 ARM 和 x86 在内的各种 CPU 目标。 我们非常依赖于开源生态系统,更具体地说是 TVM Unity,这是 TVM 项目中激动人心的最新发展,它使我们能够使用 Python-first 交互式 MLC 开发体验轻松地组合新的优化,并逐步将我们的应用程序引入所需的环境。我们还利用了优化技术,例如融合量化内核、一流的动态形状支持和多样化的 GPU 后端。
从源代码构建
有两种方法可以从源代码构建 MLC LLM。第一种是使用 Hugging Face URL 直接下载模型参数,第二种是使用包含参数的本地目录。
Hugging Face URL
要从支持的模型的现有 Hugging Face 存储库下载权重,可以按照以下说明操作:
# Create a new conda environment and install dependencies conda create -n mlc-llm-env python conda activate mlc-llm-env pip install torch transformers # Install PyTorch and Hugging Face transformers pip install -I mlc_ai_nightly -f https://mlc.ai/wheels # Install TVM # Install Git and Git-LFS if you haven't already. # They are used for downloading the model weights from Hugging Face. conda install git git-lfs git lfs install # Clone the MLC LLM repo git clone --recursive https://github.com/mlc-ai/mlc-llm.git cd mlc-llm # Create the local build directory and compile the model # This will automatically download the parameters, tokenizer, and config from Hugging Face python build.py --hf-path=databricks/dolly-v2-3b
成功构建后,编译后的模型将可在以下路径找到(具体路径将根据您的模型类型和指定的量化方式而有所不同)。请按照平台特定的说明构建和运行 MLC LLM,包括 iOS、Android 和 CLI。.dist/dolly-v2-3b-q3f16_0
本地目录
如果您有一个包含模型参数、分词器和支持的模型文件的本地目录,您可以运行以下构建命令:config.json
# Create the local build directory and compile the model python build.py --model=/path/to/local/directory # If the model path is in the form of `dist/models/model_name`, # we can simplify the build command to # python build.py --model=model_name
同样地,编译后的模型将可在以下路径找到,具体路径将根据您的模型类型和指定的量化方式而有所不同。请按照平台特定的说明构建和运行 MLC LLM,包括 iOS、Android 和 CLI。.dist/dolly-v2-3b-q3f16_0
IOS构建说明
我们将使用vicuna-v1-7b
作为示例,演示在 iOS 设备上对 LLM 进行量化和交叉编译的工作流程。同样的过程也适用于其他模型,如 Dolly 和 RedPajama。
第1步:安装 TVM Unity
请按照此教程【点击前往】安装 TVM Unity。
第2步:下载 LLM 权重
通过按照 LMSys 的说明下载Vicuna-7b
的 LLM 权重。将下载的权重放置在 mlc-llm 文件夹内的./dist/models/vicuna-v1-7b
目录下。文件夹的内容应包括以下文件:
>>> ls ./dist/models/vicuna-v1-7b config.json pytorch_model.bin.index.json pytorch_model-00001-of-00002.bin pytorch_model-00002-of-00002.bin tokenizer.model tokenizer_config.json special_tokens_map.json
第3步:使用 TVM Unity 进行 LLM 量化和交叉编译
要将 LLM 进行量化和交叉编译为 iPhone/iPad 目标,请使用提供的 build.py 脚本:
python3 build.py \ --model /path/to/vicuna-v1-7b \ --quantization q3f16_0 \ --target iphone \ --max-seq-len 768 # If the model path is `./dist/models/vicuna-v1-7b`, # we can simplify the build command to python3 build.py \ --model vicuna-v1-7b \ --quantization q3f16_0 \ --target iphone \ --max-seq-len 768
默认情况下,编译后的构件将位于 ./dist/vicuna-v1-7b-q3f16_0。该文件夹包括:
- 用于 LLM 计算的静态库:
vicuna-v1-7b-q3f16_0-iphone.a
- 资产,包括
params/
下的权重碎片 Tokenizer
元数据
第4步:构建辅助组件
Tokenizer 和 Runtime
除了模型本身之外,实际运行 LLM 需要轻量级的 runtime 和 tokenizer。您可以通过以下步骤构建和组织这些组件:
cd ./ios vim ./prepare_libs.sh # Update MODEL, QUANTIZATION, and other variables ./prepare_libs.sh
这将创建一个./build
文件夹,其中包含以下文件:
>>> ls ./build/lib/ libmlc_llm.a # The lightweight interface to interact with LLM, tokenizer, and TVM Unity runtime libmodel_iphone.a # The compiled LLM libsentencepiece.a # SentencePiece tokenizer libtokenizers_cpp.a # Huggingface tokenizer libtvm_runtime.a # TVM Unity runtime
收集资源
为了组织资产,请在./ios
目录中执行以下脚本:
cd ./ios vim ./prepare_params.sh # Update MODEL, QUANTIZATION, TOKENIZER, and other variables ./prepare_params.sh
结果应该如下所示:
>>> ls ./dist/ params/ # Parameter shards tokenizer.json # Tokenizer metadata
第5步:构建 iOS 应用程序
使用 Xcode 打开./ios/MLCChat.xcodeproj
。请注意,您需要一个 Apple 开发人员帐户才能使用 Xcode,并且您可能会提示使用自己的开发团队凭据和产品包标识符。
要使用特定的模型,请编辑./ios/MLCChat/LLMChat.mm
,以正确配置以下设置:
- 使用
model
变量指定模型名称 - 使用
conv_template
变量指定对话模板 - 使用
tokenizer_path
变量指定Tokenizer
名称 - 其他设置,包括最大序列长度、温度等。
确保在 Xcode 项目中正确设置了所有必要的依赖项和配置。
完成必要的更改后,使用 Xcode 构建 iOS 应用程序。确保为构建选择了目标设备或模拟器。
成功构建后,您可以在设备或模拟器上运行 iOS 应用程序,以使用 LLM 模型进行文本生成和处理。
Android构建说明
- 安装 TVM Unity。我们对 TVM Unity 进行了一些本地更改,因此现在请尝试使用 mlc/relax 存储库。我们将很快将更改迁移到 TVM Unity。
git clone https://github.com/mlc-ai/relax.git --recursive cd relax mkdir build cp cmake/config.cmake build
在 build/config.cmake 中,将 USE_OPENCL 和 USE_LLVM 设置为 ON。make -j export TVM_NDK_CC=/path/to/android/ndk/clang For example export TVM_NDK_CC=/Users/me/Library/Android/sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android24-clang
- 安装 Apache Maven 以进行 Java 依赖项管理。运行命令 mnv –version 以验证 Maven 是否正确安装。
- 构建 TVM4j(TVM 运行时的 Java 前端)。
cd 3rdparty/tvm/jvm; mvn install -pl core -DskipTests -Dcheckstyle.skip=true
- 按照此处的说明,使用 Hugging Face URL 或本地目录构建模型。如果选择本地目录,则可以按照此处的说明获取 HuggingFace 格式的原始 LLaMA 权重,按照此处的说明获取 Vicuna 权重。
git clone https://github.com/mlc-ai/mlc-llm.git --recursive cd mlc-llm # From local directory python3 build.py --model path/to/vicuna-v1-7b --quantization q4f16_0 --target android --max-seq-len 768 # If the model path is `dist/models/vicuna-v1-7b`, # we can simplify the build command to # python build.py --model vicuna-v1-7b --quantization q4f16_0 --target android --max-seq-len 768
- 为 Android 应用构建库。
export ANDROID_NDK=/path/to/android/ndk For example export ANDROID_NDK=/Users/me/Library/Android/sdk/ndk/25.2.9519653 cd android ./prepare_libs.sh
- 下载 Android Studio,并使用 Android Studio 打开文件夹 android/MLCChat 作为项目。
- 在 Android Studio 中安装 Android SDK 和 NDK(推荐)或单独安装。
- 在 android/MLCChat/local.properties 文件中指定 Android SDK 和 NDK 路径(如果不存在,请创建一个):
sdk.dir=/path/to/android/sdk ndk.dir=/path/to/android/ndk
例如,一个好的 local.properties 可以是:sdk.dir=/Users/me/Library/Android/sdk ndk.dir=/Users/me/Library/Android/sdk/ndk/25.2.9519653
- 将 Android 设备连接到计算机。在 Android Studio 的菜单栏中,单击 Build – Make Project。
- 构建完成后,单击 Run – Run ‘app’,您将在手机上看到应用程序启动。
使用自己的模型权重
按照上面的说明,安装的应用程序将从我们预先上传的 HuggingFace 存储库中下载权重。如果您不想从互联网下载权重,而是希望使用您构建的权重,请按照以下步骤操作。
步骤1 – 步骤8:与“应用程序构建说明”部分相同。
步骤9:在 Build – Generate Signed Bundle / APK 中,将项目构建为发布的 APK。如果这是您第一次生成 APK,则需要创建密钥。请遵循 Android 的官方指南以获取更多说明。生成发布 APK 后,您将在 android/MLCChat/app/release/ 下得到 APK 文件 app-release.apk。
步骤10:在手机设置中的开发人员选项中启用“USB 调试”。
步骤11:安装 Android SDK Platform-Tools 用于 ADB(Android Debug Bridge)。如果您已安装 SDK(例如,在 /path/to/android-sdk/platform-tools/ 处),则平台工具将已经可用于您的 Android SDK 路径下。将平台工具路径添加到 PATH 环境中。运行 adb devices 以验证 ADB 是否已正确安装,您的手机是否在设备列表中。
步骤12:在命令行中运行以下命令:
adb install android/MLCChat/app/release/app-release.apk
以将 APK 安装到手机上。如果出现以下错误消息 adb: failed to install android/MLCChat/app/release/app-release.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package ai.mlc.mlcchat signatures do not match newer version; ignoring!],请卸载现有应用程序,然后再次尝试 adb install。
步骤13:通过 ADB 将分词器和模型权重推送到您的手机。
adb push dist/models/vicuna-v1-7b/tokenizer.model /data/local/tmp/vicuna-v1-7b/tokenizer.model adb push dist/vicuna-v1-7b/float16/params /data/local/tmp/vicuna-v1-7b/params adb shell "mkdir -p /storage/emulated/0/Android/data/ai.mlc.mlcchat/files/Download/" adb shell "mv /data/local/tmp/vicuna-v1-7b /storage/emulated/0/Android/data/ai.mlc.mlcchat/files/Download/vicuna-v1-7b"
步骤14:一切准备就绪。在您的手机上启动 MLCChat,您将能够使用自己的权重使用应用程序。您将发现不需要下载权重。
现在,您已经成功地使用自己的模型权重在 MLCChat 应用程序中运行 MLC-LLM 模型。
CLI构建说明
- 使用 Hugging Face URL 或本地目录构建模型。如果选择本地目录,则可以按照此处的说明获取 HuggingFace 格式的原始 LLaMA 权重,按照此处的说明获取 Vicuna 权重。
git clone https://github.com/mlc-ai/mlc-llm.git --recursive cd mlc-llm # From Hugging Face URL python3 build.py --hf-path databricks/dolly-v2-3b --quantization q3f16_0 --max-seq-len 768 # From local directory python3 build.py --model path/to/vicuna-v1-7b --quantization q3f16_0 --max-seq-len 768 # If the model path is in the form of `dist/models/model_name`, # we can simplify the build command to # python build.py --model model_name --quantization q3f16_0 --max-seq-len 768
- 构建 CLI
# Compile and build mkdir -p build cd build cmake .. make cd .. # Execute the CLI ./build/mlc_chat_cli --model vicuna-v1-7b
链接
- 您可能还会对 WebLLM 感兴趣,这是我们的衍生项目,专注于将 LLM 带入浏览器。
- 项目页面提供说明
- ios 应用本地构建说明
- 您可能想查看我们的在线公开机器学习编译课程,以系统地介绍我们的方法。
致谢
本项目由 CMU catalyst、UW SAMPL、SJTU、OctoML 和 MLC 社区的成员发起。我们希望继续开发和支持开源 ML 社区。 这个项目得益于我们所依赖的开源生态系统。我们要感谢 Apache TVM 社区和 TVM Unity 努力的开发者。开源 ML 社区成员使这些模型公开可用。PyTorch 和 Hugging Face 社区使这些模型易于获取。我们要感谢 Vicuna、SentencePiece、LLaMA、Alpaca、MOSS 和 RWKV 团队。我们还要感谢 Vulkan、Swift、C++、Python、Rust 社区,使这个项目成为可能。
总结
没有什么生产和使用价值,而且手机会容易发热。不过呢,这是一个好的趋势,代表着用手机来跑各类AI模型将会逐渐普及,各种机遇大模型的加速算法也正在日新月异的更新着,比如LoRA加速训练之类的,这些都是可以福及各大模型的。如果有愿意折腾的可以下载一个试一下,如果想用这个项目来充当GPT,那还有很长一段路需要走。
评论 (0)