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

使用Transformers加载大模型时程序无输出的问题求助

问题分析与解决方法

核心原因

你的设备(Lenovo Yoga C-930 13IKB)硬件资源不足以加载9B级别的大模型:这类模型全精度加载需约36GB显存(按4字节/参数计算),即便用CPU加载也需要至少20GB以上内存,而笔记本的内存/显存大概率达不到标准,导致程序因内存耗尽直接终止,无任何输出。

解决步骤

1. 用模型量化降低资源占用

通过4bit或8bit量化,可将模型内存占用降低75%或50%,让9B模型能在普通笔记本上运行:

  • 先安装bitsandbytes库:
    pip install bitsandbytes
    
  • 修改代码,手动加载模型并启用量化:
    from flask import Flask, request, jsonify
    from flask_cors import CORS
    from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
    import torch
    
    app = Flask(__name__)
    CORS(app)
    
    # 加载分词器
    tokenizer = AutoTokenizer.from_pretrained("MBZUAI-Paris/Atlas-Chat-9B")
    # 启用4bit量化加载模型
    model = AutoModelForCausalLM.from_pretrained(
        "MBZUAI-Paris/Atlas-Chat-9B",
        load_in_4bit=True,
        device_map="auto",
        bnb_4bit_use_double_quant=True,
        bnb_4bit_quant_type="nf4",
        bnb_4bit_compute_dtype=torch.bfloat16
    )
    
    generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
    
    @app.route('/generate', methods=['POST'])
    def generate():
        data = request.json
        user_input = data.get("input", "")
        response = generator(user_input, max_length=1000)
        return jsonify({"output": response[0]['generated_text']})
    
    if __name__ == '__main__':
        app.run(port=5000)
    

2. 优化系统资源配置

  • 若使用Windows,将虚拟内存(页面文件)增大至20GB以上,避免内存耗尽时程序直接崩溃;
  • 关闭其他占用大量内存的程序,为模型加载预留足够资源。

3. 添加日志定位加载节点

在代码中添加打印语句,确认模型加载到哪一步终止,方便精准排查:

print("开始加载模型...")
model = AutoModelForCausalLM.from_pretrained(...)
print("模型加载完成")

内容的提问来源于stack exchange,提问作者Milos Cecaric

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 22:12:38