摘要:
# vllm架构分析 ## 文件目录结构 benchmark: 测试延迟和吞吐的脚本 csrc: torch下的cuda扩展,一些关键kernels的cpp源码,包含了attention、激活函数、cache等核函数 vllm/core: 关键调度算法,调度策略以及维护cpu和gpu映射的关系表 v 阅读全文
摘要:
# trt-hackthon2023 ControlNet-trt优化总结 ## 题目简介 本届赛题是模型优化赛,和上届的hackthon一样,也是借助于TensorRT工具,实现对深度模型的加速,本届赛题要优化的模型为controlNet,即为类SD的图像生成模型。 比赛地址: https://t 阅读全文
摘要:
# [fastllm]多线程下动态组batch实现解析 ## 需求分析 新版本的fastllm中添加了ForwardBatch的功能,用于处理批量推理请求,单次推理请求会被视为batch为1的批量请求,这样做似乎没什么问题。 然而在具体实践中,用户的请求往往是一个一个来的,每来一个请求都要等上一个请 阅读全文
摘要:
接着前面第一篇架构的分析,这篇文章主要分析fastllm中使用cuda-kernels的写法,在fastllm中主要有以下几种使用频率较高的kernel:gemv_int4, gemv_int8, gemm_int8, RMSNorm, softmax,RotatePosition2D,swiglu 阅读全文
摘要:
### 计算原理 $RMSNorm = x * (sqrt(1/n * (x_i)^2 + eps)) * g$ ### torch实现 ```python class RMSNorm(torch.nn.Module): def __init__(self, dim: int, eps: float 阅读全文
摘要:
# fastllm源码解析 ## 文件结构 1. include: 头文件,包含utils, basellm,chatglm, factoryllm, fastllm, fastllm-cuda, moss, vicuna 2. src: 源码文件, 包含chatglm, fastllm, fast 阅读全文
摘要:
# Inferllm源码解析 ## 文件结构 1. application: 放置几个不同模型的参数配置和后处理 2. include: 包含抽象model类的头文件 3. src/core: 核心组件,包括tensor、算法等基础算子的抽象和KV文件系统的实现 4. src/graph: 包含了几 阅读全文
摘要:
## C++项目的pybind方法有哪些?有什么区别? 以下是主要的python绑定cpp的方法: | 方法| 年份| 代表用户| | -- | -- | --| |适用于 CPython 的 C/C++ 扩展模块| 1991| 标准库 | PyBind11(推荐用于 C++)| 2015 |Cyt 阅读全文
摘要:
ggerganov/llama.cpp https://huggingface.co/frankenstyle/ggml-q4-models int4,用于CPU部署,大小约17GB. tloen/alpaca-lora 预训练模型文件:https://huggingface.co/decapoda 阅读全文
摘要:
auto-weka hyperopt-sklearn auto-sklearn 与autoweak类似 auto-net TPOT 基于树模型的autoML工具库,会自动生成pipeline automatic-statisticion 自然语言描述 阅读全文