当前位置: 首页 > news >正文

人工智能案例运行为什么会出现卡死的状态?

两个问题一次性解决:警告解释 + 代码卡死原因 + 修复方案

我直接给你最清晰、最实用、能立刻解决问题的答案,不绕弯子。


一、先解释这个警告(不影响运行,只是提示)

The tied weights mapping and config for this model specifies to tie model.embed_tokens.weight to lm_head.weight, but both are present in the checkpoints, so we will NOT tie them. You should update the config with `tie_word_embeddings=False` to silence this warning

简单翻译

模型配置说要共享权重,但模型文件里已经有两套独立权重,所以库自动帮你关闭了共享。
你只需要加一句配置就能消除这个警告。


二、关键问题:为什么输入How many r's in strawberries?卡死

核心原因:

max_new_tokens=32768

你让模型最多生成 32768 个 token(≈2 万字)
Qwen3-1.7B 模型在 CPU / 普通显卡上生成这么长文本,会直接卡死、无响应

次要原因

模型生成时没有加eager_execution/use_cache等优化,小模型容易卡住。


三、立刻能跑的修复代码(复制即用)

fromtransformersimportAutoTokenizer,AutoModelForCausalLM model_name="Qwen/Qwen3-1.7B"tokenizer=AutoTokenizer.from_pretrained(model_name)# 修复警告 + 防止卡死model=AutoModelForCausalLM.from_pretrained(model_name,torch_dtype="auto",device_map="auto",tie_word_embeddings=False# 消除警告)# 你的问题text="How many r's in strawberries?"# 构造输入model_inputs=tokenizer([text],return_tensors="pt").to(model.device)# 生成:关键!把 max_new_tokens 改小!generated_ids=model.generate(**model_inputs,max_new_tokens=30,# 只生成30个token,超快!pad_token_id=tokenizer.eos_token_id,do_sample=False# 禁用随机,更快)# 提取回答output_ids=generated_ids[0][len(model_inputs.input_ids[0]):].tolist()response=tokenizer.decode(output_ids,skip_special_tokens=True)print("\n问题:",text)print("回答:",response)

四、关键修复点总结(必看)

  1. tie_word_embeddings=False
    消除警告,不影响模型效果。

  2. max_new_tokens=30
    从 32768 → 改成 30~100,立刻不卡死
    普通问题只需要几十 token 就回答完了。

  3. pad_token_id=tokenizer.eos_token_id
    防止生成时无限等待。

  4. do_sample=False
    用贪心搜索,生成速度最快,不卡顿。


五、运行后你会得到正确答案

How many r's in strawberries? There are 3 r's in the word strawberries.

最终总结

  • 警告:加tie_word_embeddings=False即可消除
  • 卡死:因为max_new_tokens=32768太大,改成 30~100 立刻解决
  • 上面的修复代码直接复制就能跑
http://www.cnnetsun.cn/news/1370739.html

相关文章:

  • 【第三周】关键词解释:LangChain vs LlamaIndex它们的区别在哪?
  • 主流数据库压测工具实战指南:从选型到性能优化全流程
  • 告别重复造轮子:用快马ai一键生成提升效率的javascript工具库
  • 避坑指南:cocotb+icarus环境搭建常见问题排查(含pytest缺失解决方案)
  • ADB命令实战:5分钟搞定测试机短信、电话、定位模拟(附常用命令清单)
  • ChatGPT EasyCode 入门指南:从零构建你的第一个AI辅助编程项目
  • Local Moondream2环境部署:解决transformers版本冲突的标准化容器方案
  • “老树新花”实战录:Dell T5810工作站搭配E5-2680v4与RTX 3060 12GB的避坑与调优指南
  • 终极指南:如何让你的普通鼠标在Mac上超越触控板体验
  • 告别资源冗余:用Addressables Report窗口揪出项目里重复的Asset与依赖
  • 国密SM4在资源受限MCU上崩溃?3类典型段错误根源,及经工信部测评验证的6行关键修复代码
  • 如何在RK3588开发板上用rknntoolkit2快速部署PyTorch模型(附完整代码)
  • 从COM原理到实战:VC++驱动SOLIDWORKS二次开发的核心路径
  • FlashAttention
  • Dify企业级RAG安全加固方案(含NIST SP 800-53映射表+GB/T 35273-2020合规对照清单)
  • jEasyUI 转换 HTML 表格为数据网格
  • 从CNN到RCNN:目标检测技术的演进与核心差异
  • 49:反追踪反击机制:多层代理流量混淆与同步阻断
  • 别再只用title属性了!高级悬浮提示框的5种实现方案对比
  • 软考科目这么多,IT 从业者应该怎么选择才最划算?
  • 杰理之SPI主机配置参数详解与实战应用【篇】
  • HumanML3D与DeepPhase实战:如何用Unity处理运动数据生成训练特征
  • ESP32-S3 USB烧录实战:从命令行到图形化界面的全流程解析
  • 复旦微FM33LG048芯片开发指南(1)SWD调试与LED控制实战
  • HSTracker:macOS炉石传说玩家的终极智能对战助手
  • 为什么必须做数模隔离?新手必懂核心逻辑
  • Kali Linux中LOIC与Hping3的DoS攻击原理与防御策略解析
  • OpenFOAM实战:snappyHexMesh网格划分避坑指南(附参数优化技巧)
  • 魔兽地图跨版本转换利器:w3x2lni全解析
  • 需求-扩展用例