首页 › 博客 › 技术

局域网多机共享大模型算力:轻量级Token计费设计实战

👤 智志AI📖 技术👁 0 阅读
局域网大模型Token计费算力共享多机推理智志AI

在不少研发团队和校园实验室里,几台装了显卡的服务器通过局域网组成了私有大模型算力池。大家用 Ollama 或 vLLM 部署了多个模型,确实方便。但时间一长,谁用得多、谁占着资源不松手,就得有个说法。本文分享一套轻量级的 token计费设计,让局域网多机共享算力也能像公有云一样按量结算。

一、为什么局域网也要做 token 计费

很多人觉得内网随便用就行了,其实不然。首先,GPU 是实打实的电费和折旧;其次,如果没有记账,模型 API 会被随意滥用,导致其他人排队。例如一个 10 人团队共用 2 张 A100,不计费时实习生可能通宵跑批量推理,白天研究员只能干瞪眼。合理的 token 计费 能驱动大家精简提示词、合并请求。

  • 公平分摊:按部门或项目扣额度,避免大锅饭。
  • 成本意识:看到 token 消耗,自然优化输入输出。
  • 资源调度:结合余额限制低优先级任务。
  • 二、整体架构:统一网关 + 推理集群 + 账本

    最省事的做法是在局域网前置一个 计费代理网关,所有客户端不直接访问后端推理机,而是访问网关。网关转发请求到类似 智志AI 方案的负载均衡器,再分发到具体机器。如果直接改模型源码嵌入计费逻辑很麻烦,网关模式对原有服务零侵入。

  • 接入层:兼容 OpenAI 协议的网关,负责鉴权、计费等。
  • 推理层:多台机器运行 vLLM,通过内部地址暴露。
  • 账本服务:独立数据库记录每笔 token 流水。
  • 更多部署细节可参考 博客 中的私有化教程。

    核心模块拆解

    网关里最关键的是 中间件,它在请求前解析 body 计算输入 token,在响应后统计输出 token。由于不同模型分词器不同,网关需加载对应 tokenizer。对于流式输出(stream),需在最后一次 chunk 累计实际使用 token。

    三、Token 计费的关键代码实现

    下面用 Python 伪代码展示中间件如何嵌入 Flask 应用:

    from transformers import AutoTokenizer
    import time

    tok_cache = {}
    def get_tokenizer(model):
       if model not in tok_cache:
           tok_cache[model] = AutoTokenizer.from_pretrained(model)
       return tok_cache[model]

    @app.route('/v1/chat/completions', methods=['POST'])
    def proxy():
       data = request.json
       model = data['model']
       text = data['messages'][-1]['content']
       input_tokens = len(get_tokenizer(model).encode(text))
       resp = forward_to_backend(data)
       out_text = resp['choices'][0]['message']['content']
       output_tokens = len(get_tokenizer(model).encode(out_text))
       log_usage(user=request.headers['X-User'], model=model,
                 in_t=input_tokens, out_t=output_tokens)
       return resp

    实际生产可加上异步写库,避免阻塞主请求。同时注意流式响应需累计 token,不能只取最后一段。

    计费单价配置表

    不同模型成本不同,可用配置表管理,并支持热加载:

    模型输入单价(分/千token)输出单价(分/千token)
    Qwen2-7B0.51.0
    Llama3-70B3.06.0

    四、多机日志汇总与定时结算

    当后端有多台机器时,可以让每台推理机把 usage 上报给中心 账本服务,或者由网关统一记录。建议网关记录,因为网关本身就知道路由到哪台。每日跑脚本生成账单:

  • 按用户汇总 token 数
  • 乘以单价得到虚拟费用
  • 扣减账户配额,不足则邮件提醒
  • 五、防滥用与精度校准

    局域网虽可信,但仍需小心:

  • 限制单用户并发,防止爬取式调用。
  • 对超长输入截断计费,避免恶意填充。
  • 定期用真实 tokenizer 校准,不要靠近似估算。
  • 以上方案已在多个实验室落地。通过 局域网多机共享大模型算力 配合轻量 token计费设计,既能盘活闲置显卡,又能让每一分算力消耗看得见。如果你想看完整开源代码,欢迎访问 智志AI 获取更多支持。

    ← 返回博客列表