llama.cpp模型推理之界面篇

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

目录

前言

一、llama.cpp 目录结构

二、llama.cpp 之 server 学习

1. 介绍

2. 编译部署

3. 启动服务

4、扩展或构建其他的 Web 前端

5、其他


前言

在《基于llama.cpp学习开源LLM本地部署》这篇中介绍了基于llama.cpp学习开源LLM本地部署。在最后简单介绍了API 的调用方式。不习惯命令行的同鞋,也可以试试 llama.cpp 界面的交互方式,本章就详细介绍一下server。


一、llama.cpp 目录结构

llama.cpp模型推理之界面篇,学习,llama

整个目录比较简洁,没多少东西,以最少的代码实现最全的功能,值得学习。文档都很全,基本上在学习该推理框架时遇到或者没有想到,你都能在根目录或子目录的README.md 找到。

本章主要讲 server的界面。可以在examples/server下看看README。或者直接翻到根目录下打开README.md. 找到如下点击:

 llama.cpp模型推理之界面篇,学习,llama

二、llama.cpp 之 server 学习

1. 介绍

 llama.cpp 的 server 服务是基于 httplib 搭建的一个简单的HTTP API服务和与llama.cpp交互的简单web前端。

server命令参数:

  • --threads N-t N: 设置生成时要使用的线程数.
  • -tb N, --threads-batch N: 设置批处理和提示处理期间使用的线程数。如果未指定,则线程数将设置为用于生成的线程数
  • -m FNAME--model FNAME: 指定 LLaMA 模型文件的路径(例如,models/7B/ggml-model.gguf).
  • -a ALIAS--alias ALIAS: 设置模型的别名。别名将在 API 响应中返回.
  • -c N--ctx-size N: 设置提示上下文的大小。默认值为 512,但 LLaMA 模型是在 2048 的上下文中构建的,这将为更长的输入/推理提供更好的结果。其他模型的大小可能有所不同,例如,百川模型是在上下文为 4096 的情况下构建的.
  • -ngl N--n-gpu-layers N: 当使用适当的支持(目前为 CLBlast 或 cuBLAS)进行编译时,此选项允许将某些层卸载到 GPU 进行计算。通常会导致性能提高.
  • -mg i, --main-gpu i: 使用多个 GPU 时,此选项控制哪个 GPU 用于小张量,对于这些张量,在所有 GPU 之间拆分计算的开销是不值得的。有问题的 GPU 将使用稍多的 VRAM 来存储暂存缓冲区以获得临时结果。默认情况下,使用 GPU 0。需要 cuBLAS.
  • -ts SPLIT, --tensor-split SPLIT: 使用多个 GPU 时,此选项控制应在所有 GPU 之间拆分多大的张量。SPLIT 是一个以逗号分隔的非负值列表,用于分配每个 GPU 应按顺序获取的数据比例。例如,“3,2”会将 60% 的数据分配给 GPU 0,将 40% 分配给 GPU 1。默认情况下,数据按 VRAM 比例拆分,但这可能不是性能的最佳选择。需要 cuBLAS.
  • -b N--batch-size N: 设置用于提示处理的批大小。默认值:512.
  • --memory-f32: 使用 32 位浮点数而不是 16 位浮点数来表示内存键 + 值。不推荐.
  • --mlock: 将模型锁定在内存中,防止在内存映射时将其换出.
  • --no-mmap: 不要对模型进行内存映射。默认情况下,模型映射到内存中,这允许系统根据需要仅加载模型的必要部分.
  • --numa: 尝试对某些 NUMA 系统有帮助的优化.
  • --lora FNAME: 将 LoRA(低秩适配)适配器应用于模型(隐含 --no-mmap)。这允许您使预训练模型适应特定任务或领域.
  • --lora-base FNAME: 可选模型,用作 LoRA 适配器修改的层的基础。此标志与 --lora 标志结合使用,并指定适配的基本模型.
  • -to N--timeout N: 服务器读/写超时(以秒为单位)。默认值:600.
  • --host: 设置要侦听的主机名或 IP 地址. 默认 127.0.0.1.
  • --port: 将端口设置为侦听。默认值:8080
  • --path: 从中提供静态文件的路径 (default examples/server/public)
  • --embedding: 启用嵌入提取,默认值:禁用.
  • -np N--parallel N: 设置进程请求的槽数(默认值:1)
  • -cb--cont-batching: 启用连续批处理(又名动态批处理)(默认:禁用)
  • -spf FNAME--system-prompt-file FNAME :将文件设置为加载“系统提示符(所有插槽的初始提示符)”,这对于聊天应用程序很有用. 
  • --mmproj MMPROJ_FILE: LLaVA 的多模态投影仪文件的路径.

2. 编译部署

    编译部署请参考《基于llama.cpp学习开源LLM本地部署》。会在跟目录下生成 ./server

3. 启动服务

./server -m ../models/NousResearch/Llama-2-7b-chat-hf/ggml-model-q4_0.gguf -c 2048

服务启动成功后,如下:

llama.cpp模型推理之界面篇,学习,llama

点击或者在浏览器中输入:http://127.0.0.1:8080

llama.cpp模型推理之界面篇,学习,llama

 可以看到:交互模式,提示词、用户名、提示词模板还有模型参数等设置。打开“更多选型”,如下:

llama.cpp模型推理之界面篇,学习,llama

这些参数默认就行,也可以根据实际情况调整。

在最下面输入一些内容,点击“send”,就能与模型进行聊天了。

llama.cpp模型推理之界面篇,学习,llama

从学习的角度来看,是不是很方面。不用敲命令,也不用单独搭建前端。直接就能体验大模型,也能学习里面机制与原理。

4、扩展或构建其他的 Web 前端

web静态文件的默认位置是“examples/server/public”。您可以通过运行./server并将“--path”设置为“./your-directory”并导入“/completion.js”来访问 llamaComplete() 方法来扩展前端。

A simple example is below:

<html>
  <body>
    <pre>
      <script type="module">
        import { llama } from '/completion.js'

        const prompt = `### Instruction:
Write dad jokes, each one paragraph.
You can use html formatting if needed.

### Response:`

        for await (const chunk of llama(prompt)) {
          document.write(chunk.data.content)
        }
      </script>
    </pre>
  </body>
</html>

5、其他

更多功能和参数,详见llama.cpp/examples/server/README.md。文章来源地址https://www.toymoban.com/news/detail-805910.html


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

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

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

相关文章

  • llama.cpp LLM模型 windows cpu安装部署;运行LLaMA2模型测试

    参考: https://www.listera.top/ji-xu-zhe-teng-xia-chinese-llama-alpaca/ https://blog.csdn.net/qq_38238956/article/details/130113599 cmake windows安装参考:https://blog.csdn.net/weixin_42357472/article/details/131314105 1、下载: 2、编译 3、测试运行 参考: https://zhuanlan.zhihu.com/p/638427280 模型下载: https://huggingface.co/nya

    2024年02月16日
    浏览(45)
  • 用 llama.cpp 跑通 mixtral MoE 模型

    这里是 用 llama.cpp 跑通 mixtral MoE 模型 视频的笔记哦。 安装 huggingface_hub: pip install huggingface_hub -U 下载模型 huggingface-cli download TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF mixtral-8x7b-instruct-v0.1.Q4_K_M.gguf —local_dir $PWD —local_dir_use_symlinks=False 编译 llama.cpp LLAMA_CUBLAS=1 make -j10 运行 ./main -m ~/auto

    2024年02月03日
    浏览(33)
  • Llama2通过llama.cpp模型量化 Windows&Linux本地部署

    LLaMA ,它是一组基础语言模型,参数范围从7B到65B。在数万亿的tokens上训练的模型,并表明可以专门使用公开可用的数据集来训练最先进的模型,而无需求助于专有和不可访问的数据集。特别是, LLaMA-13B在大多数基准测试中都优于GPT-3(175B) ,并且LLaMA65B与最好的型号Chinch

    2024年02月05日
    浏览(59)
  • 大模型部署手记(8)LLaMa2+Windows+llama.cpp+英文文本补齐

    组织机构:Meta(Facebook) 代码仓:https://github.com/facebookresearch/llama 模型:llama-2-7b 下载:使用download.sh下载 硬件环境:暗影精灵7Plus Windows版本:Windows 11家庭中文版 Insider Preview 22H2 内存 32G GPU显卡:Nvidia GTX 3080 Laptop (16G) 下载llama.cpp的代码仓: git clone https://github.com/ggergan

    2024年02月03日
    浏览(56)
  • llama.cpp LLM模型 windows cpu安装部署

    参考: https://www.listera.top/ji-xu-zhe-teng-xia-chinese-llama-alpaca/ https://blog.csdn.net/qq_38238956/article/details/130113599 cmake windows安装参考:https://blog.csdn.net/weixin_42357472/article/details/131314105 1、下载: 2、编译 3、测试运行 参考: https://zhuanlan.zhihu.com/p/638427280 模型下载: https://huggingface.co/nya

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

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

    2024年02月11日
    浏览(56)
  • Llama 3大模型发布!快速体验推理及微调

            Meta,一家全球知名的科技和社交媒体巨头,在其官方网站上正式宣布了一款开源的大型预训练语言模型——Llama-3。     据了解,Llama-3模型提供了两种不同参数规模的版本,分别是80亿参数和700亿参数。这两种版本分别针对基础的预训练任务以及指令微调任务进

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

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

    2024年02月03日
    浏览(57)
  • 大模型在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)
  • 最新开源!更擅长推理的LLaMA大模型,支持中文

    ©PaperWeekly 原创 · 作者 |  李忠利 研究方向 |  自然语言处理 跟大家介绍一下自己最近训练的 LLaMA 模型——BiLLa: A Bilingual LLaMA with Enhanced Reasoning Ability. Github 地址:  https://github.com/Neutralzz/BiLLa  HuggingFace 模型:   https://huggingface.co/Neutralzz/BiLLa-7B-LLM(语言模型 BiLLa-7B-LLM) 

    2024年02月09日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包