当前位置:   article > 正文

转载:玩转大模型,让CodeShell跳跃于手机终端全攻略

转载:玩转大模型,让CodeShell跳跃于手机终端全攻略

转载:玩转大模型,让CodeShell跳跃于手机终端全攻略

背景

最近在Medium上阅读了一篇非常引人入胜的文章-“Unleashing the Potential of LLM: CodeShell’s Journey to Bringing Quantized Models to Mobile Endpoints”,该文详细介绍了如何在智能手机上部署多语言代码大模型CodeShell,颇具趣味。但出于众所周知的原因,很多人无法访问开源的github以及模型所在的huggingface。因此,我将文章翻译成中文并转载在这里,并将模型文件和运行环境一并打包上传到百度网盘,以供大家下载使用。

模型文件和模型运行环境(百度网盘): 下载链接
提取码: 2yur

Termux: 下载链接 提取码: ivlz

介绍

不久前,我发现了备受瞩目的开源大模型项目 CodeShell。该项目提供了在个人电脑CPU环境下部署 4 bit 量化模型的解决方案。这激发了我将这一解决方案移植到移动手机端的想法。本文将详细记录这一实施过程。

1. 环境准备

1. 1 下载并安装 Termux

  • 下载 Termux 应用并安装:Termux Releases,安装后打开Termux,进入如下页面

在这里插入图片描述

1.2 准备基础环境

在 Termux 中执行以下命令:

$ pkg update
$ pkg upgrade
$ pkg install vim openssh openssl
  • 1
  • 2
  • 3

建议将手机和电脑连接到同一网络,以便通过 SSH 更便捷地进行操作。

$ sshd 
$ ifconfig # 请记录一下手机的IP地址,例如:192.168.43.1
$ id # 请记录下 Android 平台下的用户名
$ passwd # 为手机的临时用户设置密码,方便在电脑上使用 SSH
# 在电脑终端中执行
$ ssh -p 8022 ANDROID_USERNAME@192.168.43.1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2. 安装并编译模型运行环境

在手机上的 Termux 应用或者电脑上的 SSH 窗口中,执行以下命令以安装和编译 llama_cpp_for_codeshell 及其相关支持环境:

$ pkg install clang wget git cmake
$ apt install libopenblas
$ apt install ocl-icd opencl-headers opencl-clhpp clinfo
$ cd
$ git clone https://github.com/CNugteren/CLBlast.git
$ cd ./CLBlast
$ cmake .
$ make
$ cp libclblast.so* $PREFIX/lib
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

下载并编译开源项目 llama_cpp_for_codeshell

$ cd
$ git clone https://github.com/WisdomShell/llama_cpp_for_codeshell.git
$ cd llama_cpp_for_codeshell
$ cp ../CLBlast/include/clblast.h ./
$ cp ../CLBlast/libclblast.so* $PREFIX/lib
$ cp /data/data/com.termux/files/usr/include/openblas/cblas.h .
$ cp /data/data/com.termux/files/usr/include/openblas/openblas_config.h .
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

修改 Makefile 文件,确保在 ifdef LLAMA_CLBLAST 小节中,每个 pkg-config shell 后添加环境变量设置

$ vim Makefile
  • 1

修改结果为:PKG_CONFIG_PATH=/data/data/com.termux/files/home/CLBlast && pkg-config --cflags-only-I clblast OpenCL

$ cmake .
$ make LLAMA_CLBLAST=1
# 设置 Termux 权限以便访问手机存储,以便下载和传输大文件
$ termux-setup-storage
  • 1
  • 2
  • 3
  • 4

注:可通过置顶的百度网盘下载模型和运行环境项目

3. 下载 CodeShell 量化模型文件

下载 CodeShell 量化模型文件并将其保存到 $HOME/llama_cpp_for_codeshell/models 目录。

git clone https://huggingface.co/WisdomShell/CodeShell-7B-Chat-int4/resolve/main/codeshell-chat-q4_0.gguf
  • 1

注:可通过置顶的百度网盘下载模型和运行环境项目

4. 运行模型

在 Termux 中执行以下命令,在 .bashrc 中添加以下环境变量配置:

$ cd llama_cpp_for_codeshell
$ vim .bashrc
  • 1
  • 2

添加内容为:

GGML_OPENCL_PLATFORM=0
GGML_OPENCL_DEVICE=0
export LD_LIBRARY_PATH=/vendor/lib64:/data/data/com.termux/files/usr/lib::/vendor/lib64/egl/
  • 1
  • 2
  • 3

然后执行以下命令:

$ source .bashrc
$ ./bin/main -m ./models/codeshell-chat-q4_0.gguf -i
  • 1
  • 2

可以在Termux中使用CodeShell模型进行问答

在这里插入图片描述

注意: 请注意,根据您的手机性能,运行速度可能有所不同。在中文输入时,您可以长按 Termux 底部并向右滑动以获得更多选项。这些步骤将指导您在 Termux 中安装和运行 CodeShell 量化模型。请确保按照指南的每个步骤进行操作,以获得最佳结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/95554
推荐阅读
相关标签