Skip to content

aaa123git/Deploy-GLM-on-Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Deploy-GLM-on-Android

借助开源项目executorch,在Android上部署GLM-Edge-1.5B-Chat模型.

效果展示

glm-edge-1.5B-chat-xnnpack_20241227_20140735.mp4

部署思路

executorch能够在Android上部署LLAMA模型,参考下列链接一步一步执行即可。两个链接对运行环境的要求不同,它们都可以成功在Android上部署LLAMA模型

由于GLM-Edge-1.5B-Chat的模型结构与LLAMA的模型结构相似,我们可以复用executorch部署LLAMA模型的代码,部署GLM-Edge-1.5B-Chat模型。 只需要解决下列挑战:

  1. 将GLM-Edge-1.5B-Chat模型权重转换为LLAMA模型权重

  2. 将GLM-Edge-1.5B-Chat的tokenizer.json转换成tokenizer.model

    GLM-Edge-1.5B-Chat的使用huggingface transformers的tokenizer,其词表存储在tokenizer.json中。而executorch使用基于tiktoken的tokenizer,其词表存储在tokenizer.model

  3. 修改executorch的代码,增加GLM-Edge-1.5B-Chat的ChatTemplate

部署方法1(二选一):全流程的编译、转换、部署

有空再更新

部署方法2(二选一):下载转换好的模型和预编译好的aar

  1. 下载转换好的模型

  2. 将模型传到手机上

    adb shell mkdir -p /data/local/tmp/llama
    adb push ./glm-edge-1.5B-xnnpack/glm_edge_1.5B_xnnpack.pte /data/local/tmp/llama
    adb push ./glm-edge-1.5B-xnnpack/glm_edge_tokenizer.model /data/local/tmp/llama
    

    注意:

  3. ./prebuilt_libs/xnnpack/executorch-llama.aar复制到./LlamaDemo/app/libs目录下

  4. 编译java项目

    用Android Studio打开./LlamaDemo目录,运行app(^R) 。 Android Studio将完成编译,并在手机上安装app(可以操作手机,同意安装)

    参考https://github.com/pytorch/executorch/blob/v0.4.0/examples/demo-apps/android/LlamaDemo/docs/delegates/xnnpack_README.md#run-the-android-demo-app

项目文件说明

TODO

  • [] 全流程的部署方式
  • [] qnn部署方式
  • [] 将修改的代码提交到executorch,而不是复制一份LlamaDemo

About

在Android上部署GLM-Edge-1.5B-Chat模型

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published