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

个人网站可以做导购吗建设旅游网站的市场分析

个人网站可以做导购吗,建设旅游网站的市场分析,网站建设好卖吗,怎么做淘宝客优惠劵网站🎯 从零开始训练本地小语言模型:MiniGPT TinyStories(4090Ti) 🧭 项目背景 本项目旨在以学习为目的,从头构建一个完整的本地语言模型训练管线。目标是: ✅ 不依赖外部云计算✅ 完全本地运行…

🎯 从零开始训练本地小语言模型:MiniGPT + TinyStories(4090Ti)

🧭 项目背景

本项目旨在以学习为目的,从头构建一个完整的本地语言模型训练管线。目标是:

  • ✅ 不依赖外部云计算
  • ✅ 完全本地运行(RTX 4090Ti)
  • ✅ 从零构建数据加载、模型结构、训练与推理逻辑
  • ✅ 阶段性掌握 LLM 微调与部署的关键技能

🛠️ 开发环境

项目配置
操作系统Windows 10
GPUNVIDIA RTX 4090Ti
CUDA 驱动版本 12.1(cu121
Python 版本3.10
虚拟环境.venv310(指定 Python 3.10)

📦 项目结构

toy-transformer/
├── data_loader.py        # 加载 TinyStories 数据集
├── model.py              # MiniGPT 模型实现
├── train_resume.py       # 支持断点训练的主循环
├── generate.py           # 推理与生成函数
├── checkpoint_latest.pth # 自动保存的训练权重
├── .venv310/             # 虚拟环境

🧠 技术路线

1. 数据加载

  • 使用 HuggingFace datasets 加载 TinyStories
  • Tokenizer 使用 GPT-2 默认分词器
  • 启用 paddingtruncation,统一 max_length=128

2. 模型构建

  • 自定义实现 MiniGPT

    • 小型 Transformer(Embedding + 多层 Self-Attention + Linear head)
    • 使用 GPT-2 的 vocab
    • 无 pretraining,全从零学起

3. 模型训练

  • 使用 torch.nn.CrossEntropyLoss,忽略 pad_token_id
  • 优化器为 AdamW
  • 使用 PyTorch AMP (torch.amp.autocast) 启用混合精度
  • 使用 GradScaler 动态控制精度
  • 使用 tqdm 进度条显示训练状态
  • 支持自动保存断点(checkpoint_latest.pth

4. 推理逻辑

  • 自定义 generate_text() 实现逐 token 自回归生成
  • 使用 softmax + sampling,多轮测试发现 collapse 问题

✅ 成果展示

训练状态

  • 成功训练了 10000 steps,loss 降至 0.05 以下
  • 支持断点恢复训练,训练速度约 25 it/s

在这里插入图片描述

推理结果(初步)

在这里插入图片描述

Prompt: "Once upon a time"
Output: time time time time time time...

Prompt: "Deng Chao is"
Output: is is is is is is is is is...

🚨 模型已出现 token collapse 问题(复读)——为后续结构调整和防过拟合提供重要依据。


🚧 存在问题与后续优化

问题原因计划
文本输出高度重复模型 collapse,过拟合高频 token使用 dropout,top-k sampling,减少训练步数
模型容量不足结构太小,表达力差增加 embedding 和层数;或微调现成模型
学不到语义没有预训练语料带来的 inductive bias尝试 distilgpt2 + TinyStories 微调

📅 今日工作小结

  • ✅ 成功建立 GPU 环境并启用 CUDA(Python 3.10 + PyTorch cu121)
  • ✅ 完整实现数据加载、tokenizer、模型结构与训练管线
  • ✅ 训练了 10000 steps,保存了断点模型
  • ✅ 实现推理接口并测试多个 prompt
  • ✅ 发现模型陷入 token collapse,为后续优化积累经验

🚀 明日计划

  • 替换 softmax 采样为 top-k + temperature 采样,缓解 collapse
  • 加入 dropout / layernorm 防止模型坍缩
  • 尝试使用 distilgpt2 微调,比较从零训练 vs 微调效果
  • 训练可视化(tensorboard / wandb)

🧨 本地语言模型训练踩坑记录(2025.05)


🧱 环境搭建相关

❌ 坑 1:安装了 PyTorch,但无法使用 CUDA

  • 表现torch.cuda.is_available() 返回 False,训练跑在 CPU 上,GPU 利用率为 0%

  • 原因:初始环境为 Python 3.13,而 PyTorch GPU 版本不支持该版本

  • 解决方案

    1. 安装 Python 3.10(py -3.10

    2. 使用 python3.10 -m venv .venv310 创建虚拟环境

    3. 使用官方源安装支持 CUDA 的 PyTorch:

      pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
      

🧪 数据处理与训练相关

❌ 坑 2:模型在 GPU 上训练速度不升反降

  • 表现:CUDA 激活后训练反而更慢

  • 原因:虽然模型 to(device),但输入数据没有显式 .to(device)

  • 解决方案

    • 使用:

      input_ids = batch["input_ids"].to(device)
      

      而不是:

      batch["input_ids"].to(device)  # ⚠ 无效!
      

❌ 坑 3:tqdm 报错 IProgress not found

  • 表现:使用 from tqdm.notebook import tqdm 报错

  • 解决方案

    • 快速替换为:

      from tqdm import tqdm
      
    • 或安装依赖:

      pip install ipywidgets
      jupyter nbextension enable --py widgetsnbextension
      

📦 模型训练相关

❌ 坑 4:训练 loss 降不下来 or 降到 0.0000 太快

  • 表现:训练 1 个 epoch 后 loss ≈ 0,后续 epoch 训练跳过

  • 原因:训练步数被 step_count >= max_steps 提前终止,epoch 实际未执行

  • 解决方案

    • 使用 total_step 替代 step_count 并每轮累加
    • 或改为基于 max_epochs 控制训练轮数

❌ 坑 5:训练后模型生成“词语复读机”(collapse)

  • 表现:生成 output 全是 "time time time...""is is is..."

  • 原因

    • 模型太小,表达能力差
    • 学习率太大或步数太多导致过拟合高频 token
  • 解决方案

    • 启用 dropout 正则
    • 使用 top-k + temperature 控制采样策略
    • 更换为 distilgpt2 微调方案或扩大学习语料

🔐 安全性提示

❌ 坑 6:PyTorch 警告 torch.load() 存在安全隐患

  • 表现:加载 checkpoint 时出现 FutureWarning: weights_only=False

  • 解决方案(建议但非必须):

    • 明确添加参数:

      torch.load(checkpoint_path, weights_only=True)
      


文章转载自:

http://WsGDNoq9.gtqws.cn
http://bgzOQ67M.gtqws.cn
http://f5jhNpzL.gtqws.cn
http://xVKCLobZ.gtqws.cn
http://tLjYdN8v.gtqws.cn
http://36wCgEq0.gtqws.cn
http://YscPSUaj.gtqws.cn
http://Isr0TiAo.gtqws.cn
http://OL27Tfbj.gtqws.cn
http://bwLehhI0.gtqws.cn
http://02TySuqm.gtqws.cn
http://1l2pdD5r.gtqws.cn
http://F9R0zCAq.gtqws.cn
http://2YsyOcNw.gtqws.cn
http://86B1lEgz.gtqws.cn
http://DbnXIUKn.gtqws.cn
http://rwaQAHNx.gtqws.cn
http://HvLDheRo.gtqws.cn
http://ApNDFOA6.gtqws.cn
http://jbGejHXM.gtqws.cn
http://SYBME2V2.gtqws.cn
http://nkgtNEQ2.gtqws.cn
http://N87sGiaq.gtqws.cn
http://O18ck3UN.gtqws.cn
http://Vue9DygE.gtqws.cn
http://wDF1ZbfU.gtqws.cn
http://DW8hLObZ.gtqws.cn
http://gSQQ6R84.gtqws.cn
http://dj598Eah.gtqws.cn
http://1ZbVHGHw.gtqws.cn
http://www.dtcms.com/wzjs/629110.html

相关文章:

  • 制作网站注册登录模块的思维导图免费设计头像
  • 黄冈地区免费网站推广平台网站显示百度众测是怎么做的
  • 洛阳市App网站开发公司9377手游平台
  • 阿凡达做网站电话网站建设的一般要素
  • 沈阳做网站优秀公司丹江口市建设局网站
  • 广州企业建站模板WordPress手动切换主题
  • 龙岗商城网站建设哪家便宜抖音代运营公司有哪些
  • 微软雅黑做网站会涉及到侵权吗外国人做汉字网站
  • 做网站安卓客户端上海市各区建设局网站
  • h5网站开发用什么软件制作无锡市建设银行总行网站
  • 中山商城网站建设修改wordpress站点标题
  • 永久免费网站申请注册基于django的电子商务网站开发
  • 已经有了域名和服务器怎么做网站凡科注册的网站怎么被百度收录
  • 门户网站cms高质量视频素材网站
  • 网站开发实习公众号开发所需技术
  • 凡科免费做网站网站分页导航
  • 东莞易进网络专业网站建设 网站网站所有分类中 点击箭头不出现下拉菜单
  • 企业为什么建站外贸推广方式有哪些
  • 彩票网站怎么做代理景区网络推广方案
  • 设计感十足的网站网站推广的岗位要求
  • 排名好的网站建设企业新手自建网站做跨境电商
  • 广州开发区建设局网站网站怎么做搜索
  • 西安专业做淘宝网站的公司深圳建筑设计找工作哪个招聘网站
  • linux系统怎么做网站南宁伯才网络
  • 京东网站建设及特点wordpress空间服务器
  • 巴中免费网站建设绿色主题 wordpress
  • 国外网站翻墙怎么做网站管理包括哪些内容
  • 关于做网站的总结seo教程技术资源
  • 宣传型网站有哪些上海注册公司没有地址怎么办
  • 阿q的项目wordpress宁波seo快速优化教程