当前位置: 首页 > news >正文

在FreeBSD系统下使用llama-cpp运行飞桨开源大模型Ernie4.5 0.3B(失败)

先上结论,截止到目前2025.7.25日,还不能用。也就是Ernie4.5模型无法在llama.cpp 和Ollama上进行推理,原因主要就llama是不支持Ernie4.5异构MoE架构。

不局限于FreeBSD系统,Windows也测试失败,理论上Ubuntu下也是不行。

所做尝试

安装llama-cpp

首先pkg安装llama-cpp

pkg install llama-cpp

也尝试了编译安装

下载源代码

git clone https://github.com/ggerganov/llama.cpp

进入llama.cpp目录

编译安装

mkdir build
cd build
cmake ..
cmake --build . --config Release

 将编译好的路径加入PATH

export PATH=~/github/llama.cpp/build/bin:$PAT

这样就可以执行llama.cpp了。

直接编译,最后生成的可执行文件是main,执行起来是这样:

main -m ~/work/model/chinesellama/ggml-model-f16.gguf  -p "Building a website can be done in 10 simple steps:\nStep 1:" -n 400 -e

下载模型

从这个网址下载:unsloth/ERNIE-4.5-0.3B-PT-GGUF at main

如果下载很慢,可以考虑从huggingface官网下载,当然需要科学上网。

下载完毕:

ls E*
ERNIE-4.5-0.3B-PT-F16.gguf	ERNIE-4.5-0.3B-PT-Q2_K.gguf

也可以下载普通的模型文件,然后用转换程序,转换为gguf格式模型

python convert.py ~/work/model/chinesellama/

运行

llama-cli -m ERNIE-4.5-0.3B-PT-Q2_K.gguf -p "hello"

如果编译后的文件为main,那么执行:

main -m ERNIE-4.5-0.3B-PT-Q2_K.gguf -p "hello"

运行失败。 

总结 

截止目前Ernie4.5还不能用llama推理。

说实话,这确实限制了Ernie4.5的普及。

调试

报错Terminating due to uncaught exception 0x28323c45c340 of type std::runtime_error

main: chat template is available, enabling conversation mode (disable it with -no-cnv)
*** User-specified prompt will pre-start conversation, did you mean to set --system-prompt (-sys) instead?
[New LWP 112399 of process 29362]
[New LWP 112400 of process 29362]
[New LWP 112401 of process 29362]
[New LWP 112402 of process 29362]
0x0000000829dc1818 in _wait4 () from /lib/libc.so.7
#0  0x0000000829dc1818 in _wait4 () from /lib/libc.so.7
#1  0x0000000821b3993c in ?? () from /lib/libthr.so.3
#2  0x00000008231e6809 in ?? () from /usr/local/lib/libggml-base.so
#3  0x00000008281be199 in std::terminate() () from /lib/libcxxrt.so.1
#4  0x00000008281be674 in ?? () from /lib/libcxxrt.so.1
#5  0x00000008281be589 in __cxa_throw () from /lib/libcxxrt.so.1
#6  0x00000000002d8070 in ?? ()
#7  0x00000000002d8adc in ?? ()
#8  0x000000000025e8b8 in ?? ()
#9  0x0000000829d0dc3a in __libc_start1 () from /lib/libc.so.7
#10 0x000000000025e120 in ?? ()
[Inferior 1 (process 29362) detached]
Terminating due to uncaught exception 0x28323c45c340 of type std::runtime_error
终止陷阱(核心已转储)

大约是内存不足

后来在Windows下用llama.cpp,报错:

print_info: file size   = 688.14 MiB (16.00 BPW)
llama_model_load: error loading model: error loading model architecture: unknown model architecture: 'ernie4_5'
llama_model_load_from_file_impl: failed to load model
common_init_from_params: failed to load model 'e:\360Downloads\ERNIE-4.5-0.3B-PT-F16.gguf'
main: error: unable to load model

证明确实无法用llama进行推理。

http://www.dtcms.com/a/297247.html

相关文章:

  • C++ atomic与内存顺序 【转】
  • 从双碳到零碳园区:安科瑞微电网系统的应用与价值
  • Javaweb————学习javaweb的预备知识
  • 【数据结构】长幼有序:树、二叉树、堆与TOP-K问题的层次解析(含源码)
  • 【js】Proxy学习笔记
  • 【高等数学】第五章 定积分——第四节 反常积分
  • Colab中如何临时使用udocker(以MinIO为例)
  • 华为云DRS实现Oracle到GaussDB数据库迁移的全流程技术方案
  • Android Studio 自带的官方模拟器,ABI这一列是x86_64,xABI这一列是arm64-v8a
  • 【面试场景题】外卖点餐系统设计思路
  • mysql 和oracle的选择
  • Android Studio 2024 内嵌 Unity 3D 开发示例
  • Oracle转Mysql建表脚本
  • Android studio自带的Android模拟器都是x86架构的吗,需要把arm架构的app翻译成x86指令?
  • 【Android Studio】安装Trae插件后Android Studio 启动崩溃问题处理
  • 瑞萨电子RA-T MCU系列新成员RA2T1——电机控制专家
  • CPU(中央处理器)和GPU(图形处理器)的区别
  • vscode npm run build打包报ELIFECYCLE
  • 一文解析公平锁、非公平锁、悲观锁、乐观锁、可重入锁和锁的升级(含详细代码实例)
  • MJ11032G和MJ11033G是对管由onsemi/安森美公司研发的一款高性能、低功耗的达林顿晶体管
  • 能源管理网页的碳中和视觉语言:数据图表中的环保色彩体系创新
  • 基于51单片机的光照强度检测系统Protues仿真设计
  • 卸油管连接检测误报率↓78%:陌讯多模态融合算法实战解析
  • 信息学奥赛一本通 1593:【例 2】牧场的安排 | 洛谷 P1879 [USACO06NOV] Corn Fields G
  • 机器学习——KNN算法
  • SpringBoot与ApacheSpark、MyBatis实战整合
  • DeepSeek FlashMLA 技术拆解,AI 推理迎来颠覆性突破
  • 黑马点评常见面试题
  • Apache Ranger 权限管理
  • Python之--字典