Skip to content

如何进行开发 #4

Description

@wangshuai09
# fork官方仓库 https://github.com/ggerganov/llama.cpp.git 并下载项目至本地
git clone git@github.com:{your_own}/llama.cpp.git

# 进入项目,从master分支创建个人开发分支
cd llama.cpp
git checkout -b local_npu_support

# 编译
mkdir build 
cd build 
cmake .. -DCMAKE_BUILD_TYPE=debug -DLLAMA_CANN=on && make -j32

# 单算子精度测试
./bin/test-backend-ops test -b CANN0 -o {OP_NAME}
# e.g. 
./bin/test-backend-ops test -b CANN0 -o CONT

# 单算子性能测试,性能测试不会测试精度
./bin/test-backend-ops perf -b CANN0 -o {OP_NAME}

# 模型推理
./bin/llama-cli -m /home/wangshuai/models/hermes_gguf/Hermes-2-Pro-Llama-3-8B-F16.gguf -p "Building a website can be done in 10 simple steps:" -ngl 32 -sm none -mg 0 -t 0

官方仓库贡献代码

欢迎广大开发者在模型支持及设备支持上贡献代码,当前支持的模型及设备列表请参考:ggml-org#8867
PR题目请添加 [CANN] 前缀,commit 信息使用 cann: commit message 的格式,reviewer: @hipudding,@wangshuai09
具体请参考:ggml-org#8822

Activity

  1. hipudding commented on Jul 22, 2024

    @hipudding
    Owner

    310和910的接口还有一些出入,后面可以考虑做310的支持。目前还不能用

  2. zhaohengxing commented on Aug 14, 2024

    @zhaohengxing

    你好,我在ascend310P3的设备上使用npu部署qwen2-1.5b-fp16.gguf,输出一直是乱码。
    目前状态是:程序编译可以通过。npu算子也已经使能。但是test-backend-ops测试存在某些算子精度错误。
    考虑到大概率是个别算子精度存在问题,我准备尝试进行调试和修复。
    请问能否给出一些从哪里入手的具体指导,有哪些关键点需要注意?

  3. wangshuai09 commented on Aug 14, 2024

    @wangshuai09
    CollaboratorAuthor

    @zhaohengxing ,精度不对有可能是某些算子未支持的qwen2的情况,或者某些特殊情况调用了错误的算子,也有可能是不同系列的芯片接口不一致,需要更改

    1. 确认qwen2调用了哪些算子;
    2. 跑一下这些算子的测试用例;
    3. 修复算子精度问题,可自行构造简单用例进行测试修复;
    4. 跑模型,如果还存在精度问题,就把模型的最后一层放在npu上,与cpu的结果进行对比,看调用到哪个算子后出现了精度问题
  4. hipudding commented on Aug 14, 2024

    @hipudding
    Owner

    @zhaohengxing 对310p的适配代码建议提交PR,一起看看。 用例精度问题,需要针对有问题的算子debug解决精度问题,解决后应该就可以正常推理了

  5. zhaohengxing commented on Aug 14, 2024

    @zhaohengxing

    多谢了!我尝试先找下问题。

  6. github-actions commented on Mar 9, 2025

    @github-actions

    This issue was closed because it has been inactive for 14 days since being marked as stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions