推理系统学习笔记

一些学习资料

  • 最近对MLsys比较感兴趣,遂找些资料开始学习一下
    • https://fazzie-key.cool/2023/02/21/MLsys/
    • https://qiankunli.github.io/2023/12/16/llm_inference.html
    • https://dlsyscourse.org
    • https://github.com/chenzomi12/DeepLearningSystem/tree/main/04Inference
    • https://csdiy.wiki/en/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/
    • 打算假期里把以上内容都过一遍

推理系统概念

https://github.com/chenzomi12/DeepLearningSystem/tree/main/04Inference

推理系统全景
请求与响应处理

请求调度

推理引擎

模型管理

监控

推理芯片

推理系统

TFServer

在这里插入图片描述

推理引擎架构

在CPU上推理中文版LLaMA2 Chinese-LLaMA-Alpaca-2

https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/tree/main

  • download
    在这里插入图片描述
    .gguf 文件是通过llama_cpp后面生成的
  • 借助llama.cpp在CPU上推理
    官网教程
    克隆仓库到本地
    Ubuntu20做法
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
  • 生成量化版模型
python3 convert.py /home/llama/alpaca/

注意替换对应的模型文件目录地址,这里有个小坑,就是在convert.py文件的load_some_model()函数中globs参数会匹配不上实际模型使用的值,这里要修改适配一下,不知道作者为什么这么设计。

def load_some_model(path: Path) -> ModelPlus:'''Load a model of any supported format.'''# Be extra-friendly and accept either a file or a directory:if path.is_dir():# Check if it's a set of safetensors files firstglobs = ["model-00001-of-*.safetensors", "model.safetensors"]files = [file for glob in globs for file in path.glob(glob)]if not files:# Try the PyTorch patterns too, with lower priorityglobs = ["consolidated.00.pth", "pytorch_model-001*.bin", "*.pt", "pytorch_model.bin"]files = [file for glob in globs for file in path.glob(glob)]if not files:raise Exception(f"Can't find model in directory {path}")if len(files) > 1:raise Exception(f"Found multiple models in {path}, not sure which to pick: {files}")path = files[0]paths = find_multifile_paths(path)models_plus: list[ModelPlus] = []for path in paths:print(f"Loading model file {path}")models_plus.append(lazy_load_file(path))model_plus = merge_multifile_models(models_plus)return model_plus

在这里插入图片描述
成功后这样子。

  • 加载启动模型
    将Alpaca-2项目的scripts/llama-cpp/chat.sh拷贝至llama.cpp的根目录。
#!/bin/bash# temporary script to chat with Chinese Alpaca-2 model
# usage: ./chat.sh alpaca2-ggml-model-path your-first-instructionSYSTEM_PROMPT='You are a helpful assistant. 你是一个乐于助人的助手。'
# SYSTEM_PROMPT='You are a helpful assistant. 你是一个乐于助人的助手。请你提供专业、有逻辑、内容真实、有价值的详细回复。' # Try this one, if you prefer longer response.
MODEL_PATH=$1
FIRST_INSTRUCTION=$2./main -m "$MODEL_PATH" \
--color -i -c 4096 -t 8 --temp 0.5 --top_k 40 --top_p 0.9 --repeat_penalty 1.1 \
--in-prefix-bos --in-prefix ' [INST] ' --in-suffix ' [/INST]' -p \
"[INST] <<SYS>>
$SYSTEM_PROMPT
<</SYS>>$FIRST_INSTRUCTION [/INST]"

shell脚本接收两个传参,.gguf文件和’问答的句子’

chmod +x chat.sh
./chat.sh /home/llama/alpaca/ggml-model-f16.gguf 'Python是世界上最好的语言吗'

在这里插入图片描述
-------------------- 未完待续 --------------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/672130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[python-opencv] PNG 裁切物体

拿到一组图PNG的图&#xff0c;边缘有点太宽了&#xff0c;需要裁切一下&#xff0c;为了这个需求&#xff0c;简单复习一下基本语法。 1. 读取PNG的4个通道 image cv.imread(image_path, cv.IMREAD_UNCHANGED) 附参数说明&#xff1a; IMREAD_UNCHANGED -1 返…

3、生成式 AI 如何帮助您改进数据可视化图表

生成式 AI 如何帮助您改进数据可视化图表 使用生成式 AI 加速和增强数据可视化。 图像来源:DALLE 3 5 个关键要点: 数据可视化图表的基本结构使用 Python Altair 构建数据可视化图表使用 GitHub Copilot 加快图表生成速度使用 ChatGPT 为您的图表生成相关内容使用 DALL-E 将…

[BUUCTF]-PWN:wustctf2020_easyfast解析

又是堆题&#xff0c;查看保护 再看ida 大致就是alloc创建堆块&#xff0c;free释放堆块&#xff0c;fill填充堆块&#xff0c;以及一个getshell的函数&#xff0c;但要满足条件。 值得注意的是free函数没有清空堆块指针 所以可以用double free 有两种解法 解法一&#xff0…

【Linux】打包压缩跨系统/网络传输文件常用指令完结

Hello everybody!在今天的文章中我会把剩下的3-4个常用指令讲完&#xff0c;然后开始权限的讲解。那废话不多说&#xff0c;咱们直接进入正题&#xff01; 1.zip/unzip&tar命令 1.zip/unzip 在windows系统中&#xff0c;经常见到带有zip后缀的文件。那个东西就是压缩包。…

杭州融资融券利率一般最低是4.5%,两融有哪些核心注意事项?

融资融券利率行情 使用融资融券账户的投资者越来越多&#xff0c;对于准备开两融和想换两融券商的投资者来说&#xff0c;最关心的就是两融利率以及开两融或者换券商的便捷程度了。 目前市场上最低的融资融券利率是4.5%~5%&#xff0c;普遍的两融利率一般在5%-6.5%&#xff0…

C++STL模板之——list(简化源码,模拟源码)

众所周知&#xff0c;C给我们底层搬砖人提供了很多便捷的数据结构&#xff0c;让我们能偶尔偷懒&#xff0c;list就是其中之一&#xff0c;现在让我们来了解一下它吧 目录 一&#xff0c;原理 1&#xff09;底层大致结构 2&#xff09;迭代器 3&#xff09;模板 二&#…

龙芯安装使用搜狗输入法

CPU&#xff1a;龙芯3A6000 操作系统&#xff1a;Loongnix 桌面主题&#xff1a;Cartoon 龙芯系统切换输入法的按键一般为&#xff1a;Ctrl空格。 1 安装搜狗输入法 进入Loongnix系统自带的龙芯应用合作社&#xff0c;寻找搜狗输入法&#xff0c;点击安装。 按下Ctrl空格&…

计算机网络——网络

计算机网络——网络 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c; [跳转到网站](https://www.captainbed.cn/qianqiu) 无线网络和移动网…

用HTML5 + JavaScript实现下雪效果

用HTML5 JavaScript实现下雪效果 <canvas>是一个可以使用脚本 (通常为JavaScript) 来绘制图形的 HTML 元素。 <canvas> 标签/元素只是图形容器&#xff0c;必须使用脚本来绘制图形。 HTML5 canvas 图形标签基础https://blog.csdn.net/cnds123/article/details/…

ArcGIS的UTM与高斯-克吕格投影分带要点总结

UTM&#xff08;通用横轴墨卡托投影、等角横轴割椭圆柱投影&#xff09;投影分带投影要点&#xff1a; 1&#xff09;UTM投影采用6度分带 2&#xff09;可根据公式计算&#xff0c;带数&#xff08;经度整数位/6&#xff09;的整数部分31 3&#xff09;北半球地区&#xff0…

蓝桥杯Web应用开发-CSS3 新特性

CSS3 新特性 专栏持续更新中 在前面我们已经学习了元素选择器、id 选择器和类选择器&#xff0c;我们可以通过标签名、id 名、类名给指定元素设置样式。 现在我们继续选择器之旅&#xff0c;学习 CSS3 中新增的三类选择器&#xff0c;分别是&#xff1a; • 属性选择器 • 子…

STM32搭建开发环境

常用开发工具简介 集成开发环境 MDK&#xff1a;全名RealViewMDK&#xff0c;是Keil公司&#xff08;已被ARM收购的&#xff09;一款集成开发环境&#xff0c;界面美观&#xff0c;简单易用&#xff0c;是STM32最常用的集成开发环境EWARM&#xff1a;IAR公司的一款集成开发环…

出现 message: “Request method ‘POST‘ not supported“ 解决方法

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 在执行某个服务器的时候出现如下提示: error: "Method Not Allowed" message: "Request method POST not supported" path: "/oauth/logout" status: 405 timestamp: "2024-02-05 23…

洛谷_P1464 Function_python写法

目录 1.错误解法 2.学习记忆化搜索算法 2.1简介 2.2案例学习 3.解法 4.总结 1.错误解法 a 0 b 0 c 0 def w(a,b,c):if a<0 or b<0 or c<0:return 1elif a>20 or b>20 or c>20:return w(20,20,20)elif a<b and b<c:return w(a-1,b,c) w(a-1,…

Linux命令stress模拟系统负载

stress 是一个在 Linux 下用于模拟系统负载的命令行工具&#xff0c;它可以帮助你测试系统的稳定性以及对系统的负载行为进行评估。下面是 stress 命令的详细使用方法&#xff1a; 安装 stress 在大多数 Linux 发行版中&#xff0c;stress 工具通常不是默认安装的 debian系 …

Vue源码系列讲解——变化侦测篇【下】(Array的变化侦测)

目录 1. 前言 2. 在哪里收集依赖 3. 使Array型数据可观测 3.1 思路分析 3.2 数组方法拦截器 3.3 使用拦截器 4. 再谈依赖收集 4.1 把依赖收集到哪里 4.2 如何收集依赖 4.3 如何通知依赖 5. 深度侦测 6. 数组新增元素的侦测 7. 不足之处 8. 总结 1. 前言 上一篇文…

Angular学习第三天--问题记录

问题一、 1.问题&#xff1a; An unhandled exception occurred: Unexpected token ?? See "C:\Users\22895\AppData\Local\Temp\ng-D60bgy\angular-errors.log" for further details. 2.原因&#xff1a; node版本过低&#xff0c;项目中angular是17&#xff0c;而…

uniapp的api用法大全

页面生命周期API uniApp中的页面生命周期API可以帮助开发者在页面的不同生命周期中执行相应的操作。常用的页面生命周期API包括&#xff1a;onLoad、onShow、onReady、onHide、onUnload等。其中&#xff0c;onLoad在页面加载时触发&#xff0c;onShow在页面显示时触发&#xf…

神经网络 | CNN 与 RNN——深度学习主力军

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本文主要将卷积神经网络&#xff08;CNN&#xff09;和循环神经网络&#xff08;RNN&#xff09;这两个深度学习主力军进行对比。我们知道&#xff0c;从应用方面上来看&#xff0c;CNN 用于图像识别较多&#xff0c;而 RNN 用于…

centos7.9 安装rabbitmq 3.6.15 集群

安装依赖 yum -y install make gcc gcc-c kernel-devel m4 ncurses-devel libxml2-utils libxml2 \ libxslt openssl-devel unixODBC unixODBC-devel unixODBC-bin gtk2 fop wxWidgets-devel wxBaseln -s /usr/bin/wx-config-3.0 /usr/bin/wx-config安装erlang mkdir /opt/er…