🔧 写在前面:无问芯穹(Infinigence AI)作为国内领先的AI基础设施平台,以”MxN”异构算力中间层著称。本文整理了开发者在使用AIStudio、GenStudio等产品时最常遇到的技术问题及解决方案,帮助你快速上手这个平台。
📋 目录导航
🏗️ 平台架构概览
无问芯穹的核心理念是“MxN”中间层——连接M种大模型和N种异构芯片。简单理解:
核心产品矩阵
| 产品名称 | 主要功能 | 适用场景 |
|---|---|---|
| AIStudio | 一站式AI开发平台(开发机、训练、推理) | 模型训练、微调、部署 |
| GenStudio | 大模型服务平台(MaaS) | API调用、应用开发 |
| 智算云平台 | 异构算力资源管理 | 企业级算力调度 |
| ComfyUI托管 | 工作流云端托管 | 图像生成、视频制作 |
技术特色:
- 支持10+种异构芯片:NVIDIA、AMD、华为昇腾、摩尔线程、壁仞、沐曦、天数智芯等
- 千卡级异构混训:全球首个支持6种芯片混合训练的平台,集群利用率达97.6%
- 推理加速技术:自研FlashDecoding++,性能提升50%-200%
- K8S容器化:基于Kubernetes,池化算力资源,非裸机/虚拟机
⚠️ 常见问题TOP10
问题1:创建开发机时报错”ApiPlatformUserV1InstanceCreateReq.shared_mem类型错误”
症状:前端表单提交后,后端返回序列化错误,提示shared_mem字段需要数值类型。
原因:前端默认传递的是字符串,后端Go语言接口需要数值类型。
解决方案:
// 方法1:手动修改请求(适合开发者) // 使用浏览器DevTools,在Network中找到create请求 // 修改payload中的shared_mem从 "100" 改为 100 // 方法2:等待官方修复前端bug // 该问题已在社区反馈,预计后续版本会修复
临时workaround:如果急需使用,可以通过API直接调用,手动传递正确的数值类型。
问题2:GPU资源配额不足,无法创建实例
症状:创建开发机或推理服务时提示”资源配额不足”。
原因:AIStudio按GPU数量分配资源(1、2、4、8卡规格),你的租户配额已用完。
解决方案:
- 检查现有资源:进入”开发机”或”任务”列表,删除不用的实例释放配额
- 申请增加配额:联系无问芯穹技术支持,说明业务需求
- 选择更小规格:如果8卡不够,可以创建多个1卡或2卡实例
- 错峰使用:凌晨时段资源相对充足(测试用户少)
配额计算示例:
租户配额:NVIDIA A100 80G × 8 可创建:8个1卡开发机 或 4个2卡开发机 或 2个4卡开发机 或 1个8卡开发机
问题3:共享存储挂载失败或数据丢失
症状:开发机重启后,/mnt/路径下的数据消失。
原因:AIStudio提供两种存储:
- 共享高性能存储:默认挂载点(如/mnt/public/),持久化,30k IOPS
- 容器临时存储:容器删除后数据丢失
解决方案:
# 1. 确认挂载点(创建开发机时平台会提示) df -h # 查看挂载的存储 # 2. 将重要数据存放在共享存储 mkdir -p /mnt/public/my_project cd /mnt/public/my_project # 3. 下载模型到共享存储(推荐做法) git lfs install mkdir -p /mnt/public/models/ git clone https://www.modelscope.cn/qwen/Qwen2-7B-Instruct.git /mnt/public/models/Qwen2-7B-Instruct/
注意:共享存储按10TB为单位,上限1亿文件。采用多副本机制,数据安全可靠。
问题4:分布式训练任务启动失败
症状:提交分布式训练任务后,状态一直是”Pending”或直接失败。
可能原因:
- 代码路径配置错误(未正确指向共享存储)
- 环境变量设置不当
- GPU规格选择超出配额
- 镜像选择不匹配(缺少必要的框架)
解决方案:
# 1. 检查代码路径(必须是共享存储路径) 代码路径:/mnt/public/my_training_code/ # 2. 使用预置分布式框架 AIStudio已预置:PyTorch DDP、MPI等框架 选择对应镜像,无需手动配置环境变量 # 3. 开启容错功能 在创建任务时勾选"容错",硬件故障时自动重启恢复 # 4. 查看任务日志 任务列表 → 点击任务名称 → 查看日志(Logs)
最佳实践:先在开发机中测试单机训练,确认代码无误后再提交分布式任务。
问题5:GenStudio API调用返回401/403错误
症状:使用API Key调用大模型服务时,返回认证失败。
原因:
- API Key格式错误或过期
- 请求头配置不正确
- 服务未正确创建
解决方案:
# 1. 获取正确的API Key
登录 cloud.infini-ai.com/genstudio/model
点击"模型广场" → 选择模型(如deepseek-r1)→ "创建" → 获取API KEY
# 2. 正确配置请求(OpenAI兼容格式)
curl https://cloud.infini-ai.com/maas/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "你好"}]
}'
# 3. Python调用示例
import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://cloud.infini-ai.com/maas/v1"
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "你好"}]
)
常见错误:
- ❌ 忘记在Authorization头加”Bearer “前缀
- ❌ base_url写错(注意是/maas/v1,不是/v1/chat/completions)
- ❌ model名称写错(需要与创建时的模型名称完全一致)
🖥️ AIStudio使用指南
开发机(Development Instance)
开发机是挂载GPU的容器化Linux环境,用于代码开发、调试、小规模训练。
创建开发机步骤
- 选择负载规格:
- GPU数量:1、2、4、8卡
- GPU型号:A100 80G、4090等(可选)
- CPU/内存:根据GPU规格自动配置
- 选择镜像:
- 基础镜像:CUDA、PyTorch、DeepSpeed、NGC、Ubuntu
- 自定义镜像:基于预置镜像或Dockerfile构建
- 推荐:pytorch-2.1-cuda11.8(兼容性最好)
- 配置存储:
- 共享高性能存储自动挂载(无需手动配置)
- 默认挂载点:/mnt/public/(不同租户可能不同)
- 高级配置(可选):
- SSH访问:可配置公钥实现本地IDE连接
- 环境变量:预设必要的环境变量
- 启动脚本:开发机启动时自动执行
启动后操作:
# 检查GPU nvidia-smi # 检查存储 df -h # 测试PyTorch python -c "import torch; print(torch.cuda.is_available())" # 开发机内可以使用Docker(DinD模式) docker ps
任务(Training Jobs)
用于提交大规模分布式训练任务,支持自动故障恢复。
分布式训练最佳实践
1. 准备训练代码
# 代码结构(存放在共享存储) /mnt/public/my_training/ ├── train.py # 训练主脚本 ├── requirements.txt # Python依赖 ├── data/ # 训练数据 └── checkpoints/ # 保存检查点
2. 创建训练任务
- 算力规格:选择GPU数量(建议4卡或8卡)
- 代码路径:/mnt/public/my_training/train.py
- 启动命令:python train.py –epochs 100
- 分布式框架:选择PyTorch DDP(平台自动配置环境变量)
- 容错:勾选”开启容错”(重要!)
3. 监控任务
# 实时查看日志 任务列表 → 点击任务名 → Logs标签 # 监控指标 - GPU利用率 - 训练损失 - 训练速度(samples/sec)
4. 保存检查点
# 在训练脚本中定期保存到共享存储
import torch
checkpoint_path = "/mnt/public/my_training/checkpoints/epoch_{}.pt".format(epoch)
torch.save(model.state_dict(), checkpoint_path)
推理服务(Inference Service)
将训练好的模型部署为在线API服务。
快速部署Qwen2模型
步骤1:下载模型(在开发机中)
git lfs install mkdir -p /mnt/public/models/ git clone https://www.modelscope.cn/qwen/Qwen2-7B-Instruct.git \ /mnt/public/models/Qwen2-7B-Instruct/
步骤2:创建推理服务
- 实例规格:根据模型大小选择(7B模型建议1-2卡)
- 实例数量:>1时自动提供负载均衡
- 模型路径:/mnt/public/models/Qwen2-7B-Instruct/
- 推理镜像:选择vLLM或TGI镜像
步骤3:调用API
# 获取服务URL(在推理服务详情页)
SERVICE_URL="https://your-service-url.infini-ai.com"
# 调用推理接口
curl -X POST $SERVICE_URL/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen2-7B-Instruct",
"messages": [{"role": "user", "content": "你好"}]
}'
🔌 GenStudio API集成
GenStudio是无问芯穹的MaaS平台,提供开箱即用的大模型API服务。
支持的模型列表(2025年1月)
| 模型系列 | 具体模型 | 适用场景 |
|---|---|---|
| DeepSeek | DeepSeek-V3、DeepSeek-R1 | 推理、编程、数学 |
| Qwen | Qwen2.5系列、QWQ-32B、Qwen2.5-VL | 通用、视觉理解 |
| Llama | Llama2、Llama3系列 | 通用对话 |
| ChatGLM | ChatGLM2、ChatGLM3 | 中文对话 |
| Baichuan | Baichuan2系列 | 中文理解 |
*支持模型持续更新中,详见官方模型广场
API集成示例
Python SDK
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxx",
base_url="https://cloud.infini-ai.com/maas/v1"
)
# 流式输出
stream = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "user", "content": "写一首诗"}
],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
Node.js集成
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-xxxxx',
baseURL: 'https://cloud.infini-ai.com/maas/v1'
});
async function main() {
const completion = await client.chat.completions.create({
model: 'deepseek-chat',
messages: [
{ role: 'user', content: '你好' }
]
});
console.log(completion.choices[0].message.content);
}
main();
高级功能:监控与优化
服务监控
GenStudio提供详细的API使用监控:
- 请求和流量监控:QPS、Response、RT、Traffic
- 吞吐及Tokens监控:Avg_Throughput、e2e_request_latency、TTFT、Total_tokens
- 成本追踪:Token消耗统计(免费额度管理)
访问路径:模型服务详情 → 服务监控/服务日志
⚠️ 注意:GenStudio暂不提供基于Webhook的实时事件通知和沙箱测试环境。
🎮 异构GPU选型建议
无问芯穹最大的特色是支持多种异构GPU。如何选择?


