5.llama.cpp编译及使用

这篇具有很好参考价值的文章主要介绍了5.llama.cpp编译及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

llama.cpp的编译及使用

下载源码

  • llama.cpp
https://github.com/ggerganov/llama.cpp
  • ggml 向量库
https://github.com/ggerganov/ggml

安装依赖库

  • cmake 编译:版本稍高一些,我的是3.22

编译

支持cuda

cd llama.cpp
mkdir build
cd build
cmake .. -DLLAMA_CUBLAS=ON
make -j8

最后在build/bin目录下生成

下载模型

  • meta官网下载,贼麻烦
https://ai.meta.com/llama/
https://huggingface.co/meta-llama
  • huggingface下载
https://huggingface.co/
  • Linly: 国内Linly开源
https://github.com/CVI-SZU/Linly

模型量化

模型量化的python代码在llama.cpp下面找到。在硬件资源有限的情况下才对模型进行量化。
在build/bin找到quantize

  • 模型下载
https://huggingface.co/meta-llama/Llama-2-7b-hf
  • 模型转换
    convert the 7B model to ggml FP16 format 默认做当前目录下生成ggml模型ggml-model-f16.bin
python convert.py models/llama-2-7b-hf/ 

在较新版本默认生成的是ggml-model-f16.gguf

  • 模型量化
    quantize the model to 4-bits (using q4_0 method) 进一步对FP16模型进行4-bit量化
./quantize ./models/llama-2-7b-hf/ggml-model-f16.bin ./models/llama-2-7b-hf/ggml-model-q4_0.bin q4_0

模型推理

在build/bin找到main

./main -ngl 30 -m ./models/llama-2-7b-hf/ggml-model-q4_0.bin --color -f  ./prompts/chat-with-vicuna-v0.txt -ins -c 2048 --temp 0.2 -n 4096 --repeat_penalty 1.0

Linly模型

自己动手处理文章来源地址https://www.toymoban.com/news/detail-860879.html

运行测试

  • 测试用脚本
#!/bin/bash

# llama 推理
#./main -ngl 30 -m ./models/7B/ggml-model-alpaca-7b-q4_0.gguf --color  -f  ./prompts/chat-with-vicuna-v0.txt -ins -c 2048 --temp 0.2 -n 4096 --repeat_penalty 1.3

# linly 基础模型
#./main -ngl 30 -m ./models/7B/linly-ggml-model-q4_0.bin --color  -f  ./prompts/chat-with-vicuna-v0.txt -ins -c 2048 --temp 0.2 -n 4096 --repeat_penalty 1.0

# linly chatflow模型
./main -ngl 30 -m ./models/chatflow_7b/linly-chatflow-7b-q4_0.bin --color  -f  ./prompts/chat-with-vicuna-v0.txt -ins -c 2048 --temp 0.2 -n 4096 --repeat_penalty 1.0

# whisper llama
#./whisper/talk-llama -l zh -mw ./models/ggml-small_q4_0.bin -ml ./models/7B/ggml-model-alpaca-7b-q4_0.gguf -p "lfrobot" -t 8 -c 0 -vth 0.6 -fth 100 -pe
  • 参数说明
    比较重要的参数:
-ins    启动类ChatGPT的对话交流模式
-f      指定prompt模板,alpaca模型请加载prompts/alpaca.txt 指令模板
-c      控制上下文的长度,值越大越能参考更长的对话历史(默认:512)
-n      控制回复生成的最大长度(默认:128)
--repeat_penalty 控制生成回复中对重复文本的惩罚力度
--temp  温度系数,值越低回复的随机性越小,反之越大
--top_p, top_k  控制解码采样的相关参数
-b      控制batch size(默认:512)
-t      控制线程数量(默认:8),可适当增加
-ngl    使用cuda核心数
-m      指定模型

到了这里,关于5.llama.cpp编译及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Llama.cpp工具main使用手册

    Llama.cpp提供的 main工具允许你以简单有效的方式使用各种 LLaMA 语言模型。 它专门设计用于与 llama.cpp 项目配合使用。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 Llama.cpp的工具 main提供简单的 C/C++ 实现,具有可选的 4 位量化支持,可实现更快、更低的内存推理,并针对桌面 C

    2024年01月16日
    浏览(43)
  • 【AI实战】llama.cpp量化cuBLAS编译;nvcc fatal:Value ‘native‘ is not defined for option ‘gpu-architecture‘

    对于使用 LLaMA 模型来说,无论从花销还是使用体验,量化这个步骤是不可或缺的。 llama.cpp 量化部署 llama 参考这篇文章:【AI实战】llama.cpp 量化部署 llama-33B 与 cuBLAS 一起编译时,执行: 报错信息如下: 错误信息在倒数第二行: 执行下面命令参考本机的 gpu-architecture: 输出

    2024年02月12日
    浏览(44)
  • Python - 深度学习系列30 - 使用LLaMA-Factory微调模型

    最实用的一种利用大语言模型的方式是进行微调。预训练模型与我们的使用场景一定会存在一些差异,而我们又不可能重头训练。 微调的原理并不复杂,载入模型,灌新的数据,然后运行再训练,保留checkpoints。但是不同项目的代码真的不太一样,每一个都要单独去看的话比

    2024年04月12日
    浏览(49)
  • 使用llama.cpp在本地搭建vicuna 13B语言模型

    有人做了windows下的脚本放到github上了,直接运行就可以了。我在本机试了一下13B的模型能运行,但生成速度非常慢,回复一个问题基本上要花5分钟以上的时间。我的机器配置 3900X 32G内存。 https://github.com/mps256/vicuna.ps1

    2024年02月11日
    浏览(56)
  • 使用Llama.cpp在CPU上快速的运行LLM

    大型语言模型(llm)正变得越来越流行,但是它需要很多的资源,尤其时GPU。在这篇文章中,我们将介绍如何使用Python中的llama.cpp库在高性能的cpu上运行llm。 大型语言模型(llm)正变得越来越流行,但是它们的运行在计算上是非常消耗资源的。有很多研究人员正在为改进这个缺点

    2024年02月16日
    浏览(45)
  • 开源大模型框架llama.cpp使用C++ api开发入门

    llama.cpp是一个C++编写的轻量级开源类AIGC大模型框架,可以支持在消费级普通设备上本地部署运行大模型,以及作为依赖库集成的到应用程序中提供类GPT的功能。 以下基于llama.cpp的源码利用C++ api来开发实例demo演示加载本地模型文件并提供GPT文本生成。 CMakeLists.txt main.cpp 注:

    2024年02月03日
    浏览(57)
  • AI-windows下使用llama.cpp部署本地Chinese-LLaMA-Alpaca-2模型

    生成的文件在 .buildbin ,我们要用的是 main.exe , binmain.exe -h 查看使用帮助 本项目基于Meta发布的可商用大模型Llama-2开发,是中文LLaMAAlpaca大模型的第二期项目,开源了中文LLaMA-2基座模型和Alpaca-2指令精调大模型。这些模型在原版Llama-2的基础上扩充并优化了中文词表,使用

    2024年04月25日
    浏览(77)
  • [NLP] 使用Llama.cpp和LangChain在CPU上使用大模型-RAG

    下面是构建这个应用程序时将使用的软件工具: 1.Llama-cpp-python  下载llama-cpp, llama-cpp-python [NLP] Llama2模型运行在Mac机器-CSDN博客 2、LangChain LangChain是一个提供了一组广泛的集成和数据连接器,允许我们链接和编排不同的模块。可以常见聊天机器人、数据分析和文档问答等应用。

    2024年02月04日
    浏览(49)
  • 大模型在cpu上使用llama_cpp部署无法加载模型的问题

    错误:gguf_init_from_file: invalid magic characters \\\'tjgg\\\'等,也就是无法加载模型 因为最新版的llama-cpp-python不支持ggml文件格式了 解决方案: 1、降低版本(最简单): pip install llama-cpp-python==0.1.78 2、直接下载对应GGUF的模型 3、利用llama.cpp内部转换函数进行转换 参考出处:TheBloke/Llam

    2024年01月20日
    浏览(50)
  • LLM大模型推理加速实战:vllm、fastllm与llama.cpp使用指南

    随着人工智能技术的飞速发展,大型语言模型(LLM)在诸如自然语言处理、智能问答、文本生成等领域的应用越来越广泛。然而,LLM模型往往具有庞大的参数规模,导致推理过程计算量大、耗时长,成为了制约其实际应用的关键因素。为了解决这个问题,一系列大模型推理加

    2024年04月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包