feat: update frontend
🎯 核心使命: 为机器学习工程师、AI研究人员和基础设施团队提供部署前的智能决策支持
⚡ 解决痛点: 在复杂的硬件配置和并行策略下,精确预估LLM推理的性能指标、显存占用和运营成本
🏗️ 技术架构: 前后端分离 + Vue 3生态 + Go高性能后端 + Python AI工具链
Lycos Metric 是一款功能强大的分析工具,旨在精确预估大语言模型(LLM)在不同硬件配置和并行策略下的推理性能(延迟、吞吐量)、显存占用和运营成本。它为机器学习工程师、研究人员和基础设施团队提供强大的决策支持,帮助他们在模型部署前进行硬件选型、成本预算和性能优化。
项目采用前后端分离架构,前端基于 Vue 3 + Element Plus 提供现代化、交互友好的用户界面,后端由 Gin 驱动,结合经过验证的数学模型,提供高性能的计算与分析能力。
🎯 实时计算引擎调整模型参数、业务需求和优化选项动态展示不同并行策略的性能指标
⚡ 核心特性: 多维度参数调优 • 实时结果反馈 • 最优方案推荐
🔍 横向对比分析流水线并行 vs 张量并行组合一目了然找到性能最优解
🚀 核心特性: 方案对比矩阵 • 性能差异可视化 • 决策建议输出
🎨 沉浸式可视化ECharts-GL驱动的3D性能曲面并发数×序列长度×性能的立体展示
🎪 核心特性: 3D交互体验 • 参数空间探索 • 性能热力图
🔗 零配置模型接入Hugging Face Hub自动拉取 • ONNX动态解析 • 多模态模型支持
🌟 核心特性: 自动模型发现 • 配置智能解析 • 版本管理追踪
⚙️ 硬件参数中心A100/H100/RTX系列全覆盖性能基准数据库
🏆 核心特性: 硬件性能库 • 成本效益分析 • 选型智能推荐
🚀 极速性能预估
亚秒级精确计算每Token延迟与系统吞吐量基于第一性原理的数学模型,误差控制在5%以内
💾 智能显存分析
三维显存分解:权重 + KV缓存 + 瞬时激活提前预警OOM风险,避免部署失败
🧠 并行策略优化
TP/PP/DP多维度策略自动寻优一键找到最佳硬件配置组合
💻 硬件性能对决
A100 vs H100 vs RTX4090 全方位PK性价比量化分析,选择不再纠结
📊 沉浸式可视化
ECharts-GL驱动的3D性能曲面图参数空间一览无余,洞察性能奥秘
🤖 AI模型智能识别
零配置对接Hugging Face生态ONNX动态解析,多模态模型随心用
⚡ 超级并行计算
Goroutine工作池 + Channel调度千级配置搜索,秒级返回结果
🔧 企业级配置管理
RESTful CRUD完整生命周期模型库/GPU库统一管理平台
本项目采用前后端分离的设计思想,后端以 Go 和 Gin 框架为核心,通过 GORM 与数据库交互,并策略性地与外部 Python 脚本协同工作。
克隆本仓库到本地:
git clone https://gitlink.org.cn/yBKo741JVC/mxdsldxjmpg.git
克隆仓库
git clone https://gitlink.org.cn/yBKo741JVC/mxdsldxjmpg.git cd backend-go
配置 Go 模块代理 (中国大陆用户推荐) 为了解决 Go 依赖包下载缓慢或失败的问题,请设置国内镜像。
go env -w GOPROXY=https://goproxy.cn,direct
安装 Go 依赖
go mod tidy
安装 Python 依赖
这些库是动态获取模型配置和进行 ONNX 分析所必需的。
pip install -r ./python_scripts/requirements.txt
启动服务
go run main.go
服务启动后,默认监听 8000 端口。控制台将输出日志,显示服务已成功运行。
8000
进入前端目录并安装依赖
cd ../frontend # 假设前端代码在 frontend 目录 npm install
启动前端开发服务器
npm run dev
服务启动后,根据命令行提示(通常是 http://localhost:5173)在浏览器中打开应用。
http://localhost:5173
本分析器基于以下核心公式进行性能和资源预估。
L
H
A
A_kv
T_p
P_p
B
S
G
b_w
b_a
b_kv
F_{peak}
B_{hbm}
\eta_f
\eta_m
1. 总峰值显存 (Peak Memory per GPU)
Mempeak=Memweights+Memkv_cache+Memactivation_peak\text{Mem}_{\text{peak}} = \text{Mem}_{\text{weights}} + \text{Mem}_{\text{kv\_cache}} + \text{Mem}_{\text{activation\_peak}}Mempeak=Memweights+Memkv_cache+Memactivation_peak
模型权重显存 (Weight Memory):
Memweights≈ParamsattnTp+ParamsmlpTp⋅Ep+…(per layer)\text{Mem}_{\text{weights}} \approx \frac{\text{Params}_{\text{attn}}}{T_p} + \frac{\text{Params}_{\text{mlp}}}{T_p \cdot E_p} + \dots \quad (\text{per layer})Memweights≈TpParamsattn+Tp⋅EpParamsmlp+…(per layer)
注:这是一个简化表示,实际计算考虑了所有组件。
KV 缓存显存 (KV Cache Memory):
Memkv_cache=LPp×2⋅B⋅(S+G)⋅(HA)⋅AkvTp×bkv\text{Mem}_{\text{kv\_cache}} = \frac{L}{P_p} \times 2 \cdot B \cdot (S+G) \cdot (\frac{H}{A}) \cdot \frac{A_{kv}}{T_p} \times b_{kv}Memkv_cache=PpL×2⋅B⋅(S+G)⋅(AH)⋅TpAkv×bkv
峰值激活显存 (Peak Activation Memory):
Memact_peak=max(Memact_attn,Memact_mlp)\text{Mem}_{\text{act\_peak}} = \max(\text{Mem}_{\text{act\_attn}}, \text{Mem}_{\text{act\_mlp}})Memact_peak=max(Memact_attn,Memact_mlp)
Memact_attn=max(B⋅S⋅HTp,B⋅A⋅S2Tp)×ba8\text{Mem}_{\text{act\_attn}} = \max(\frac{B \cdot S \cdot H}{T_p}, \frac{B \cdot A \cdot S^2}{T_p}) \times \frac{b_a}{8}Memact_attn=max(TpB⋅S⋅H,TpB⋅A⋅S2)×8ba
Memact_attn=B⋅S⋅HTp×ba8\text{Mem}_{\text{act\_attn}} = \frac{B \cdot S \cdot H}{T_p} \times \frac{b_a}{8}Memact_attn=TpB⋅S⋅H×8ba
2. 总延迟 (Total Latency)
Latencytotal=Latencyprefill+G×Latencydecode_token\text{Latency}_{\text{total}} = \text{Latency}_{\text{prefill}} + G \times \text{Latency}_{\text{decode\_token}}Latencytotal=Latencyprefill+G×Latencydecode_token
单层延迟 (Latency per Layer):
Latencylayer=Latattn+Latmlp+2×Latlayernorm+2×Lattp_comm\text{Latency}_{\text{layer}} = \text{Lat}_{\text{attn}} + \text{Lat}_{\text{mlp}} + 2 \times \text{Lat}_{\text{layernorm}} + 2 \times \text{Lat}_{\text{tp\_comm}}Latencylayer=Latattn+Latmlp+2×Latlayernorm+2×Lattp_comm
注:每个组件的延迟 Lat_x 是其计算和内存访问时间的较大值: max(Time_compute, Time_memory)。
Lat_x
max(Time_compute, Time_memory)
3. 吞吐量 (Throughput)
TPSdecode=BatchSizeglobalLatencydecode_token=B⋅DpLatencydecode_token\text{TPS}_{\text{decode}} = \frac{\text{BatchSize}_{\text{global}}}{\text{Latency}_{\text{decode\_token}}} = \frac{B \cdot D_p}{\text{Latency}_{\text{decode\_token}}}TPSdecode=Latencydecode_tokenBatchSizeglobal=Latencydecode_tokenB⋅Dp
1️⃣ Fork 仓库
🍴 Fork 本仓库到您的账号
2️⃣ 创建分支
🌱 创建功能分支feature/YourFeature
feature/YourFeature
3️⃣ 编写代码
💻 实现您的创意遵循项目规范
4️⃣ 提交变更
📦 提交代码并推送到远程分支
5️⃣ 发起PR
🚀 创建 Pull Request等待合并审核
🎆 自由使用 · 🔄 自由修改 · 💰 商业友好
本项目采用 MIT 开源许可证,您可以自由使用、修改和分发本软件。
感谢所有为 Lycos Metric 做出贡献的开发者们!
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
Lycos Metric: LLM 推理性能与成本分析平台
🚀 Lycos Metric
AI 推理性能与成本分析的未来平台
🎯 核心使命: 为机器学习工程师、AI研究人员和基础设施团队提供部署前的智能决策支持
⚡ 解决痛点: 在复杂的硬件配置和并行策略下,精确预估LLM推理的性能指标、显存占用和运营成本
🏗️ 技术架构: 前后端分离 + Vue 3生态 + Go高性能后端 + Python AI工具链
Lycos Metric 是一款功能强大的分析工具,旨在精确预估大语言模型(LLM)在不同硬件配置和并行策略下的推理性能(延迟、吞吐量)、显存占用和运营成本。它为机器学习工程师、研究人员和基础设施团队提供强大的决策支持,帮助他们在模型部署前进行硬件选型、成本预算和性能优化。
项目采用前后端分离架构,前端基于 Vue 3 + Element Plus 提供现代化、交互友好的用户界面,后端由 Gin 驱动,结合经过验证的数学模型,提供高性能的计算与分析能力。
✨ 产品功能矩阵
🎪 沉浸式功能体验,让AI性能分析变得简单而精确
🧮 智能性能计算器
⚡ 核心特性: 多维度参数调优 • 实时结果反馈 • 最优方案推荐
📊 多方案智能对比
🚀 核心特性: 方案对比矩阵 • 性能差异可视化 • 决策建议输出
🌐 3D性能曲面探索
🎪 核心特性: 3D交互体验 • 参数空间探索 • 性能热力图
🤖 AI模型智能管理
🌟 核心特性: 自动模型发现 • 配置智能解析 • 版本管理追踪
💾 GPU硬件资源池
🏆 核心特性: 硬件性能库 • 成本效益分析 • 选型智能推荐
🎯 为什么选择 Lycos Metric?
🌟 核心功能
🎯 核心能力矩阵
🚀 极速性能预估
💾 智能显存分析
🧠 并行策略优化
💻 硬件性能对决
📊 沉浸式可视化
🤖 AI模型智能识别
⚡ 超级并行计算
🔧 企业级配置管理
🎪 技术亮点展示
🛠️ 技术栈
🎨 前端技术
⚡ 后端技术
🗄️ 数据库
📊 技术栈详细说明
🏗️ 系统架构
本项目采用前后端分离的设计思想,后端以 Go 和 Gin 框架为核心,通过 GORM 与数据库交互,并策略性地与外部 Python 脚本协同工作。
🚀 快速开始
1. 环境准备
2. 获取代码
克隆本仓库到本地:
3. 后端设置与启动
克隆仓库
配置 Go 模块代理 (中国大陆用户推荐) 为了解决 Go 依赖包下载缓慢或失败的问题,请设置国内镜像。
安装 Go 依赖
安装 Python 依赖
这些库是动态获取模型配置和进行 ONNX 分析所必需的。
启动服务
服务启动后,默认监听
8000端口。控制台将输出日志,显示服务已成功运行。4. 前端设置与启动
进入前端目录并安装依赖
启动前端开发服务器
服务启动后,根据命令行提示(通常是
http://localhost:5173)在浏览器中打开应用。📐 核心数学公式
本分析器基于以下核心公式进行性能和资源预估。
LHAA_kvT_pP_pBSGb_w,b_a,b_kvF_{peak}B_{hbm}\eta_f\eta_m1. 总峰值显存 (Peak Memory per GPU)
Mempeak=Memweights+Memkv_cache+Memactivation_peak
模型权重显存 (Weight Memory):
Memweights≈TpParamsattn+Tp⋅EpParamsmlp+…(per layer)
注:这是一个简化表示,实际计算考虑了所有组件。
KV 缓存显存 (KV Cache Memory):
Memkv_cache=PpL×2⋅B⋅(S+G)⋅(AH)⋅TpAkv×bkv
峰值激活显存 (Peak Activation Memory):
Memact_peak=max(Memact_attn,Memact_mlp)
Memact_attn=max(TpB⋅S⋅H,TpB⋅A⋅S2)×8ba
Memact_attn=TpB⋅S⋅H×8ba
2. 总延迟 (Total Latency)
Latencytotal=Latencyprefill+G×Latencydecode_token
单层延迟 (Latency per Layer):
Latencylayer=Latattn+Latmlp+2×Latlayernorm+2×Lattp_comm
注:每个组件的延迟
Lat_x是其计算和内存访问时间的较大值:max(Time_compute, Time_memory)。3. 吞吐量 (Throughput)
TPSdecode=Latencydecode_tokenBatchSizeglobal=Latencydecode_tokenB⋅Dp
🤝 加入我们,共同打造AI性能分析未来
🎆 贡献流程
1️⃣ Fork 仓库
🍴 Fork 本仓库到您的账号
2️⃣ 创建分支
🌱 创建功能分支
feature/YourFeature3️⃣ 编写代码
💻 实现您的创意
遵循项目规范
4️⃣ 提交变更
📦 提交代码并推送
到远程分支
5️⃣ 发起PR
🚀 创建 Pull Request
等待合并审核
📝 贡献类型
📄 开源协议
🎆 自由使用 · 🔄 自由修改 · 💰 商业友好
本项目采用 MIT 开源许可证,您可以自由使用、修改和分发本软件。
❤️ 特别鸣谢
感谢所有为 Lycos Metric 做出贡献的开发者们!