You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提升Azure部署的Phi-3-medium-128k无服务器API响应速度?

Phi-3-medium-128k无服务器部署首令牌延迟过高问题排查与优化

延迟是否正常?

对于Azure AI Studio无服务器部署的Phi-3-medium-128k模型,输入3000令牌时首令牌响应15秒属于偏高的异常情况。无服务器部署虽存在一定冷启动延迟,但通常首令牌延迟在5-10秒内属于合理范围,15秒的延迟说明存在可优化空间。

优化方案

1. 修复API调用的流式配置问题

你的Python代码中,requests.post未设置stream=True参数,导致即使API返回流式响应,requests仍会缓冲全部内容后才返回给SSE客户端,这会大幅拉长首令牌的感知延迟。修改后的调用代码如下:

def get_phi3_response(sys_prompt, user_prompt, stream=True):
    messages = format_message_for_llm(sys_prompt, user_prompt)
    data = {
        "model": "phi3-medium-128k",
        "temperature": 0.0,
        "max_tokens": 1000,
        "top_p": 1.0,
        "messages": messages,
        "stream": stream,
    }
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + PHI3_API_KEY,
    }
    response = {}
    try:
        # 添加stream=True参数,开启流式接收
        res = requests.post(PHI3_API_URL, headers=headers, data=json.dumps(data), stream=True)
        response = res
    except Exception as e:
        response = {}
        print("Error in get_phi3_response: " + str(e))
    return response

这是最关键的优化点,修复后SSE客户端可以实时接收首令牌,感知延迟会显著降低。

2. 调整模型生成参数

  • temperature参数:设置为0.0会强制模型生成完全确定性的结果,部分场景下会增加计算开销。可尝试将temperature调整为0.1-0.2,在几乎不影响结果确定性的前提下,降低模型的计算负载。
  • max_tokens参数:如果实际业务不需要生成1000令牌的内容,可适当调小该值,减少模型的后续计算压力(不过这对首令牌延迟影响有限)。

3. 优化部署配置

  • 启用无服务器预热实例:在Azure AI Studio的无服务器端点配置中,可设置最小预热实例数,避免冷启动带来的延迟。即使没有请求,保持少量实例处于运行状态,确保首请求能快速响应。
  • 调整无服务器资源配额:检查无服务器部署的资源限制(如CPU、内存),若当前配额不足,可申请调高资源配置,提升模型的推理速度。

4. 考虑切换到托管在线端点

如果对延迟稳定性要求较高,无服务器部署的弹性特性会带来资源波动,建议切换到托管在线端点。托管实例可以固定分配计算资源,彻底避免冷启动问题,首令牌延迟会稳定在更低范围(通常3-5秒内),适合生产环境的低延迟需求。

5. 检查输入消息格式

确认format_message_for_llm函数生成的messages格式是否简洁,避免冗余的令牌(如重复的系统提示、不必要的换行或格式字符)。虽然你提到缩短输入无明显改善,但冗余格式可能仍会增加模型的预处理时间。


内容的提问来源于stack exchange,提问作者Rithika Chowta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:41:10