{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [], "gpuType": "A100" }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" }, "accelerator": "GPU" }, "cells": [ { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "09f76c4a", "outputId": "8fb2b811-3368-4a8f-8e10-fd2b2edc91c1" }, "source": [ "# Install uv\n", "!curl -LsSf https://astral.sh/uv/install.sh | sh\n", "import os\n", "os.environ['PATH'] = f\"{os.path.expanduser('~/.local/bin')}:{os.environ['PATH']}\"" ], "execution_count": 2, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "downloading uv 0.11.16 x86_64-unknown-linux-gnu\n", "installing to /usr/local/bin\n", " uv\n", " uvx\n", "everything's installed!\n" ] } ] }, { "cell_type": "code", "metadata": { "id": "78b92072" }, "source": [ "pyproject_content = \"\"\"[project]\n", "name = \"finetune\"\n", "version = \"0.1.0\"\n", "description = \"Add your description here\"\n", "readme = \"README.md\"\n", "requires-python = \">=3.10\"\n", "dependencies = [\n", " \"datasets>=4.3.0\",\n", " \"dill>=0.4.0\",\n", " \"unsloth>=2026.5.5\",\n", " \"unsloth-zoo>=2026.5.3\",\n", "]\n", "\"\"\"\n", "\n", "with open(\"pyproject.toml\", \"w\") as f:\n", " f.write(pyproject_content)\n", "\n", "with open(\".python-version\", \"w\") as f:\n", " f.write(\"3.10\")\n", "\n", "with open(\"README.md\", \"w\") as f:\n", " f.write(\"# Finetune Project\")" ], "execution_count": 4, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "collapsed": true, "id": "b683e0d1", "outputId": "a192c7f2-e4d3-4e24-cfa5-e8f3c2d19f57" }, "source": [ "# Sync the environment and install extra unsloth requirements\n", "!uv sync" ], "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Using CPython 3.10.12 interpreter at: \u001b[36m/usr/bin/python3.10\u001b[39m\n", "Creating virtual environment at: \u001b[36m.venv\u001b[39m\n", "\u001b[2K\u001b[2mResolved \u001b[1m126 packages\u001b[0m \u001b[2min 1.35s\u001b[0m\u001b[0m\n", "\u001b[2K\u001b[2mPrepared \u001b[1m102 packages\u001b[0m \u001b[2min 1m 34s\u001b[0m\u001b[0m\n", "\u001b[2K\u001b[2mInstalled \u001b[1m102 packages\u001b[0m \u001b[2min 913ms\u001b[0m\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1maccelerate\u001b[0m\u001b[2m==1.13.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1maiohappyeyeballs\u001b[0m\u001b[2m==2.6.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1maiohttp\u001b[0m\u001b[2m==3.13.5\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1maiosignal\u001b[0m\u001b[2m==1.4.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mannotated-doc\u001b[0m\u001b[2m==0.0.4\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mannotated-types\u001b[0m\u001b[2m==0.7.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1manyio\u001b[0m\u001b[2m==4.13.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1masync-timeout\u001b[0m\u001b[2m==5.0.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mattrs\u001b[0m\u001b[2m==26.1.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mbitsandbytes\u001b[0m\u001b[2m==0.49.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mcertifi\u001b[0m\u001b[2m==2026.5.20\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mcharset-normalizer\u001b[0m\u001b[2m==3.4.7\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mclick\u001b[0m\u001b[2m==8.4.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mcuda-bindings\u001b[0m\u001b[2m==12.9.4\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mcuda-pathfinder\u001b[0m\u001b[2m==1.5.4\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mcut-cross-entropy\u001b[0m\u001b[2m==25.1.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mdatasets\u001b[0m\u001b[2m==4.3.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mdiffusers\u001b[0m\u001b[2m==0.37.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mdill\u001b[0m\u001b[2m==0.4.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mdocstring-parser\u001b[0m\u001b[2m==0.18.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mexceptiongroup\u001b[0m\u001b[2m==1.3.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mfilelock\u001b[0m\u001b[2m==3.29.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mfrozenlist\u001b[0m\u001b[2m==1.8.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mfsspec\u001b[0m\u001b[2m==2025.9.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mh11\u001b[0m\u001b[2m==0.16.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mhf-transfer\u001b[0m\u001b[2m==0.1.9\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mhf-xet\u001b[0m\u001b[2m==1.5.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mhttpcore\u001b[0m\u001b[2m==1.0.9\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mhttpx\u001b[0m\u001b[2m==0.28.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mhuggingface-hub\u001b[0m\u001b[2m==1.16.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1midna\u001b[0m\u001b[2m==3.16\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mimportlib-metadata\u001b[0m\u001b[2m==9.0.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mjinja2\u001b[0m\u001b[2m==3.1.6\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mmarkdown-it-py\u001b[0m\u001b[2m==4.2.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mmarkupsafe\u001b[0m\u001b[2m==3.0.3\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mmdurl\u001b[0m\u001b[2m==0.1.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mmpmath\u001b[0m\u001b[2m==1.3.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mmsgspec\u001b[0m\u001b[2m==0.21.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mmultidict\u001b[0m\u001b[2m==6.7.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mmultiprocess\u001b[0m\u001b[2m==0.70.16\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnest-asyncio\u001b[0m\u001b[2m==1.6.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnetworkx\u001b[0m\u001b[2m==3.4.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnumpy\u001b[0m\u001b[2m==2.2.6\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cublas-cu12\u001b[0m\u001b[2m==12.8.4.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cuda-cupti-cu12\u001b[0m\u001b[2m==12.8.90\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cuda-nvrtc-cu12\u001b[0m\u001b[2m==12.8.93\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cuda-runtime-cu12\u001b[0m\u001b[2m==12.8.90\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cudnn-cu12\u001b[0m\u001b[2m==9.10.2.21\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cufft-cu12\u001b[0m\u001b[2m==11.3.3.83\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cufile-cu12\u001b[0m\u001b[2m==1.13.1.3\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-curand-cu12\u001b[0m\u001b[2m==10.3.9.90\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cusolver-cu12\u001b[0m\u001b[2m==11.7.3.90\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cusparse-cu12\u001b[0m\u001b[2m==12.5.8.93\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-cusparselt-cu12\u001b[0m\u001b[2m==0.7.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-nccl-cu12\u001b[0m\u001b[2m==2.27.5\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-nvjitlink-cu12\u001b[0m\u001b[2m==12.8.93\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-nvshmem-cu12\u001b[0m\u001b[2m==3.4.5\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mnvidia-nvtx-cu12\u001b[0m\u001b[2m==12.8.90\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpackaging\u001b[0m\u001b[2m==26.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpandas\u001b[0m\u001b[2m==2.3.3\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpeft\u001b[0m\u001b[2m==0.19.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpillow\u001b[0m\u001b[2m==12.2.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpropcache\u001b[0m\u001b[2m==0.5.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mprotobuf\u001b[0m\u001b[2m==7.35.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpsutil\u001b[0m\u001b[2m==7.2.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpyarrow\u001b[0m\u001b[2m==24.0.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpydantic\u001b[0m\u001b[2m==2.13.4\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpydantic-core\u001b[0m\u001b[2m==2.46.4\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpygments\u001b[0m\u001b[2m==2.20.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpython-dateutil\u001b[0m\u001b[2m==2.9.0.post0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpytz\u001b[0m\u001b[2m==2026.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mpyyaml\u001b[0m\u001b[2m==6.0.3\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mregex\u001b[0m\u001b[2m==2026.5.9\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mrequests\u001b[0m\u001b[2m==2.34.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mrich\u001b[0m\u001b[2m==15.0.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1msafetensors\u001b[0m\u001b[2m==0.7.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1msentencepiece\u001b[0m\u001b[2m==0.2.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mshellingham\u001b[0m\u001b[2m==1.5.4\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1msix\u001b[0m\u001b[2m==1.17.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1msympy\u001b[0m\u001b[2m==1.14.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtokenizers\u001b[0m\u001b[2m==0.22.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtorch\u001b[0m\u001b[2m==2.10.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtorchao\u001b[0m\u001b[2m==0.17.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtorchvision\u001b[0m\u001b[2m==0.25.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtqdm\u001b[0m\u001b[2m==4.67.3\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtransformers\u001b[0m\u001b[2m==5.5.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtriton\u001b[0m\u001b[2m==3.6.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtrl\u001b[0m\u001b[2m==0.24.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtypeguard\u001b[0m\u001b[2m==4.5.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtyper\u001b[0m\u001b[2m==0.25.1\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtyping-extensions\u001b[0m\u001b[2m==4.15.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtyping-inspection\u001b[0m\u001b[2m==0.4.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtyro\u001b[0m\u001b[2m==1.0.13\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mtzdata\u001b[0m\u001b[2m==2026.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1munsloth\u001b[0m\u001b[2m==2026.5.5\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1munsloth-zoo\u001b[0m\u001b[2m==2026.5.3\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1murllib3\u001b[0m\u001b[2m==2.7.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mwheel\u001b[0m\u001b[2m==0.47.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mxformers\u001b[0m\u001b[2m==0.0.35\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mxxhash\u001b[0m\u001b[2m==3.7.0\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1myarl\u001b[0m\u001b[2m==1.24.2\u001b[0m\n", " \u001b[32m+\u001b[39m \u001b[1mzipp\u001b[0m\u001b[2m==4.1.0\u001b[0m\n" ] } ] }, { "cell_type": "code", "source": [ "script_content = \"\"\"\n", "from dataclasses import dataclass\n", "from datasets import load_dataset\n", "from unsloth import FastVisionModel\n", "from trl import SFTTrainer, SFTConfig\n", "import torch\n", "\n", "max_seq_length = 2048\n", "\n", "# 1. 加载数据集\n", "dataset = load_dataset(\"NIyueeE/cocreator-driving-scene\", split=\"train\")\n", "\n", "# 2. 构建 messages\n", "causal_texts = dataset[\"causal_text\"]\n", "messages_list = [\n", " [\n", " {\"role\": \"user\", \"content\": [{\"type\": \"image\"}]},\n", " {\"role\": \"assistant\", \"content\": [{\"type\": \"text\", \"text\": text}]},\n", " ]\n", " for text in causal_texts\n", "]\n", "\n", "dataset = dataset.rename_column(\"video_frames\", \"images\")\n", "dataset = dataset.add_column(\"messages\", messages_list)\n", "dataset = dataset.remove_columns([\"id\", \"causal_text\"])\n", "\n", "# 3. 加载模型\n", "model, tokenizer = FastVisionModel.from_pretrained(\n", " model_name=\"Qwen/Qwen3.5-0.8B\",\n", " max_seq_length=max_seq_length,\n", " load_in_4bit=False, # 优化4:显存充足且模型很小,关闭 4bit 量化,省去反量化计算开销\n", " full_finetuning=False,\n", ")\n", "\n", "# 4. 挂 LoRA\n", "model = FastVisionModel.get_peft_model(\n", " model,\n", " finetune_vision_layers=True,\n", " finetune_language_layers=True,\n", " finetune_attention_modules=True,\n", " finetune_mlp_modules=True,\n", " r=16,\n", " lora_alpha=16,\n", " lora_dropout=0,\n", " bias=\"none\",\n", " random_state=3407,\n", " target_modules=\"all-linear\",\n", " use_gradient_checkpointing=False, # 优化5:显存充足,关闭梯度检查点,避免前向传播重复计算\n", " max_seq_length=max_seq_length,\n", ")\n", "\n", "model = model.to(torch.float32)\n", "\n", "@dataclass\n", "class Qwen35VLDataCollator:\n", " processor: callable\n", "\n", " def __call__(self, samples):\n", " sample = samples[0]\n", " imgs = sample[\"images\"]\n", " msgs = sample[\"messages\"]\n", "\n", " for msg in msgs:\n", " if msg[\"role\"] == \"user\":\n", " msg[\"content\"] = [{\"type\": \"image\"} for _ in imgs]\n", "\n", " small_imgs = [img.resize((448, 448)) for img in imgs]\n", " text = self.processor.apply_chat_template(msgs, tokenize=False, add_generation_prompt=False)\n", "\n", " result = self.processor(\n", " images=small_imgs,\n", " text=text,\n", " padding=True,\n", " return_tensors=\"pt\",\n", " add_special_tokens=False,\n", " )\n", "\n", " if \"pixel_values\" in result:\n", " result[\"pixel_values\"] = result[\"pixel_values\"].to(torch.float32)\n", "\n", " result[\"labels\"] = result[\"input_ids\"].clone()\n", " result[\"labels\"][result[\"attention_mask\"] == 0] = -100\n", " return result\n", "\n", "# 5. 训练\n", "trainer = SFTTrainer(\n", " model=model,\n", " train_dataset=dataset,\n", " tokenizer=tokenizer,\n", " data_collator=Qwen35VLDataCollator(tokenizer),\n", " args=SFTConfig(\n", " max_seq_length=max_seq_length,\n", " per_device_train_batch_size=128,\n", " gradient_accumulation_steps=1,\n", " warmup_steps=5,\n", " num_train_epochs=5, # 放弃 max_steps,改为指定训练 5 个 Epoch,确保模型充分学习\n", " logging_steps=5,\n", " save_strategy=\"epoch\", # 每个 epoch 结束时保存一次\n", " output_dir=\"outputs_qwen35_0.8b_cocreator\",\n", " optim=\"adamw_8bit\",\n", " dataloader_num_workers=4,\n", " seed=3407,\n", " remove_unused_columns=False,\n", " report_to=\"none\",\n", " fp16=False,\n", " bf16=True,\n", " ),\n", ")\n", "\n", "trainer.train()\n", "\n", "model.save_pretrained(\"lora_cocreator_qwen35_0.8b\")\n", "tokenizer.save_pretrained(\"lora_cocreator_qwen35_0.8b\")\n", "model.save_pretrained_merged(\n", " \"safetensors_cocreator_qwen35_0.8b\",\n", " tokenizer,\n", " save_method=\"merged_16bit\",\n", ")\n", "\"\"\"\n", "\n", "with open(\"train.py\", \"w\") as f:\n", " f.write(script_content)\n", "\n", "!uv run python train.py" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "IMh_Ex3dPx57", "outputId": "d756bb1d-511b-4af4-b3e0-3a56b160165c" }, "execution_count": 10, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "🦥 Unsloth: Will patch your computer to enable 2x faster free finetuning.\n", "Unsloth: Your Flash Attention 2 installation seems to be broken. Using Xformers instead. No performance changes will be seen.\n", "🦥 Unsloth Zoo will now patch everything to make training faster!\n", "==((====))== Unsloth 2026.5.5: Fast Qwen3_5 patching. Transformers: 5.5.0.\n", " \\\\ /| NVIDIA A100-SXM4-40GB. Num GPUs = 1. Max memory: 39.494 GB. Platform: Linux.\n", "O^O/ \\_/ \\ Torch: 2.10.0+cu128. CUDA: 8.0. CUDA Toolkit: 12.8. Triton: 3.6.0\n", "\\ / Bfloat16 = TRUE. FA [Xformers = 0.0.35. FA2 = False]\n", " \"-____-\" Free license: http://github.com/unslothai/unsloth\n", "Unsloth: Fast downloading is enabled - ignore downloading bars which are red colored!\n", "Unsloth: QLoRA and full finetuning all not selected. Switching to 16bit LoRA.\n", "The fast path is not available because one of the required library is not installed. Falling back to torch implementation. To install follow https://github.com/fla-org/flash-linear-attention#installation and https://github.com/Dao-AILab/causal-conv1d\n", "Loading weights: 100% 473/473 [00:00<00:00, 1096.05it/s]\n", "[unsloth_zoo.log|WARNING]Unsloth: Failed to register input-embedding hook for `model.base_model.model.model.visual`: `get_input_embeddings` not auto‑handled for Qwen3_5VisionModel; please override in the subclass.. Falling back to pre-forward hook.\n", "The tokenizer has new PAD/BOS/EOS tokens that differ from the model config and generation config. The model config and generation config were aligned accordingly, being updated with the tokenizer's values. Updated tokens: {'eos_token_id': 248046}.\n", "==((====))== Unsloth - 2x faster free finetuning | Num GPUs used = 1\n", " \\\\ /| Num examples = 1,227 | Num Epochs = 5 | Total steps = 50\n", "O^O/ \\_/ \\ Batch size per device = 128 | Gradient accumulation steps = 1\n", "\\ / Data Parallel GPUs = 1 | Total batch size (128 x 1 x 1) = 128\n", " \"-____-\" Trainable parameters = 13,181,952 of 866,167,872 (1.52% trained)\n", "{'loss': '20.36', 'grad_norm': '23.1', 'learning_rate': '4e-05', 'epoch': '0.5'}\n", "{'loss': '18.72', 'grad_norm': '20.23', 'learning_rate': '4.556e-05', 'epoch': '1'}\n", " 20% 10/50 [01:45<04:23, 6.60s/it]Unsloth: Restored added_tokens_decoder metadata in outputs_qwen35_0.8b_cocreator/checkpoint-10/tokenizer_config.json.\n", "{'loss': '15.76', 'grad_norm': '26.03', 'learning_rate': '4e-05', 'epoch': '1.5'}\n", "{'loss': '12.69', 'grad_norm': '18.83', 'learning_rate': '3.444e-05', 'epoch': '2'}\n", " 40% 20/50 [03:11<03:06, 6.21s/it]Unsloth: Restored added_tokens_decoder metadata in outputs_qwen35_0.8b_cocreator/checkpoint-20/tokenizer_config.json.\n", "{'loss': '10.55', 'grad_norm': '11.37', 'learning_rate': '2.889e-05', 'epoch': '2.5'}\n", "{'loss': '9.241', 'grad_norm': '11.4', 'learning_rate': '2.333e-05', 'epoch': '3'}\n", " 60% 30/50 [04:47<02:25, 7.29s/it]Unsloth: Restored added_tokens_decoder metadata in outputs_qwen35_0.8b_cocreator/checkpoint-30/tokenizer_config.json.\n", "{'loss': '8.223', 'grad_norm': '9.022', 'learning_rate': '1.778e-05', 'epoch': '3.5'}\n", "{'loss': '7.462', 'grad_norm': '8.385', 'learning_rate': '1.222e-05', 'epoch': '4'}\n", " 80% 40/50 [06:20<01:03, 6.37s/it]Unsloth: Restored added_tokens_decoder metadata in outputs_qwen35_0.8b_cocreator/checkpoint-40/tokenizer_config.json.\n", "{'loss': '7.064', 'grad_norm': '7.772', 'learning_rate': '6.667e-06', 'epoch': '4.5'}\n", "{'loss': '6.786', 'grad_norm': '7.118', 'learning_rate': '1.111e-06', 'epoch': '5'}\n", "100% 50/50 [07:53<00:00, 6.35s/it]Unsloth: Restored added_tokens_decoder metadata in outputs_qwen35_0.8b_cocreator/checkpoint-50/tokenizer_config.json.\n", "{'train_runtime': '475', 'train_samples_per_second': '12.91', 'train_steps_per_second': '0.105', 'train_loss': '11.69', 'epoch': '5'}\n", "100% 50/50 [07:55<00:00, 9.50s/it]\n", "Unsloth: Restored added_tokens_decoder metadata in lora_cocreator_qwen35_0.8b/tokenizer_config.json.\n", "Unsloth: Restored added_tokens_decoder metadata in safetensors_cocreator_qwen35_0.8b/tokenizer_config.json.\n", "Found HuggingFace hub cache directory: /root/.cache/huggingface/hub\n", "Downloading (incomplete total...): 0.00B [00:00, ?B/s]\n", "Fetching 1 files: 100% 1/1 [00:00<00:00, 1187.52it/s]\n", "Download complete: : 0.00B [00:00, ?B/s] Checking cache directory for required files...\n", "\n", "Unsloth: Copying 1 files from cache to `safetensors_cocreator_qwen35_0.8b`: 0% 0/1 [00:00" ], "image/png": "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ZrOZGzduJPw0b96csLAw9u3bB4C9vX3CPfri4uK4desWMTExVK9ePaHNP3Xq1OmRKwX07ds30XaDBg24efMm4eHhT8zcp0+fRMuON2jQgNjYWM6dOwfAunXriImJoV+/foleN3DgwCce+59++ukn8uTJQ968ealevTrr1q1j+PDhDB06NFG7Zx3TLVy4kLJly1KmTJlEn/8LL7wAkGQp1X8bN24c8+bNo2rVqqxZs4YPPviAatWq8fzzz3P06NGEdosXLyZ37tzJfg7/Xsb9SePMW7dusX79el555ZWE93zjxg1u3rxJ8+bNOXHiRMLS7X/88Qe1a9dONOMuT548CcuJpYWQkBBOnDjBq6++ys2bNxPyRERE0LRpUzZv3pzs0qIiIiLWLn7slNzstsaNG5MnT56En++++y5Jm7fffjvJvn+ObSIiIrhx4wZ169bFbDazf/9+AC5fvkxISAg9evTAy8srob2vry/lypV7bObUjD/j9erVK9G9olPzHVhKjB49mpiYGCZMmJDs87GxsQQGBtK+fXuKFSuWsN/b25tXX32VrVu3JhnHvvnmm9jb2yc5loeHB507d07YLl26NNmzZ6ds2bKJZg3GP06r9ygiFir8iUiaeO655xINTuIdOXKEDh064OXlhaenJ3ny5KFbt26AZSmpJylUqFCi7fgvZx5VHHvca+NfH//aa9eucf/+fUqUKJGkXXL7nkb8l3OlS5dO8lyZMmUSnnd2dmbixIn8+eef5MuXj4YNGzJp0iSuXLmS0L5Ro0Z06tSJcePGkTt3btq1a0dAQMAT74sjIpJeNm/eTNu2bSlQoAAmk+mxS/Wlhfj7pv3zp0yZMul6TrEN169f586dO/zwww+JvhjKkydPwoVL165dS2g/a9YsKlWqhIuLC7ly5SJPnjysWrUq2bFL0aJFH3netBzH/Pu18WOIf49ZcubMmaiY9STt2rUjKCiIVatWJfw/FhkZiZ1d4n8qPuuY7sSJExw5ciTJ51+qVCkg8ef/KF26dGHLli3cvn2bwMBAXn31Vfbv30/btm0Tljc9deoUpUuXxsHhyXe1eNJnfPLkScxmM2PGjEmS+8MPP0yU+9y5c5QsWTLJOZIbAz6tEydOANCjR48keX788UeioqJS1BciIiLWJn4JyHv37iV5bvr06QQFBTF37txkX+vg4JDsspyhoaH0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Xj1iY2M5duwYv/32G2vWrKF69erJ5omMjKRu3brUrl2bFi1aULBgQe7cucOyZcvYsmUL7du3p2rVqgB0796d2bNnM3ToUHbt2kWDBg2IiIhg7dq19OvXj3bt2qXqs/juu++oX78+FStW5M0336RYsWJcvXqVHTt2cOHCBQ4cOABYvoycM2cOLVq0YPDgwbi7u/PDDz9QuHBhDh48mOiYb7zxBn379qVTp074+vpy4MAB1qxZQ+7cuR+bxc7Ojh9//JGWLVtSvnx5evXqxXPPPcfFixfZsGEDnp6erFixIlXvT0RExFqULFmSefPm0aVLF0qXLk3Xrl2pXLkyZrOZM2fOMG/ePOzs7JK9n9+/lSlThuLFi/Pee+9x8eJFPD09Wbx4cbKrJvj7+9O6dWvq169P7969uXXrFt988w3ly5d/4tgwpePP1HjUWCs14mf9zZo1K8lz48ePJygoiPr169OvXz8cHByYPn06UVFRSQqFIpJ5qfAnIukmV65crFy5knfffZfRo0eTI0cOunXrRtOmTR95n5SMVq1aNf7880/ee+89xowZQ8GCBfn44485evQox44dS9ExHj58yJgxY5LsL168OP369aNnz564ubkxYcIE3n//fdzd3enQoQMTJ04ke/bsgOW+Nl26dGHdunXMmTMHBwcHypQpw2+//UanTp0AaNSoEbt27WL+/PlcvXoVLy8vatasyS+//PLImymLiBjl0KFDxMbGUqpUqUT7o6KiyJUrF2BZLqZs2bKPPc7777/PhAkTABItK1qpUiVq1apF4cKF+e2333j99dfT+B2INfr37Ld4PXv2xMfHh127dvHxxx+zZMkSvv/+e3LlykX58uWZOHFiorZXrlxh+vTprFmzhnLlyjF37lwWLlzIxo0bM+idpMzEiRNxc3NjxowZrF27ljp16hAYGEj9+vVxcXF56uO6uroyYMAAPvroIzZu3Ejjxo1TPKbr168fISEhBAQE8OWXX1K4cGHatm2LnZ0dy5Yt48svv2T27NksXboUNzc3ihUrxuDBg5P8XfFP2bNnZ8aMGaxatYqAgACuXLmCvb09pUuXZvLkyQwaNCihrb29PX/88UfCkuiLFy8mV65cCcW71CpXrhx79uxh3LhxzJw5k5s3b5I3b16qVq3K2LFjE9p5e3uzYcMGBg4cyIQJE8iVKxd9+/alQIECSf5+evPNNzlz5gw//fQTq1evpkGDBgQFBdG0adMn5mncuDE7duzgk08+4dtvv+XevXvkz5+fWrVq8dZbb6X6/YmIiFiTdu3acejQIT7//HMCAwP5+eefMZlMFC5cmNatW9O3b18qV678xOM4OjqyYsUKBg0ahL+/Py4uLnTo0IEBAwYkeX2LFi1YuHAho0ePZuTIkRQvXpyAgAB+//33J44N8+XLl6LxZ2o8aqyVWqNHj2bu3LlJVhwoX748W7ZsYeTIkfj7+xMXF0etWrWYO3dukqVBRSTzMpkz09QbEZFMon379hw5cuSZlqMTEclKTCYTS5cuTbhB/IIFC+jatStHjhxJcgN3Dw8P8ufPz8OHDzl9+vRjj5srVy7y5MnzyOdr1KhBs2bN8Pf3f+b3IGIL7ty5Q44cORg/fjwffPCB0XFEREREREQkg2nGn4hkeffv38fV1TVh+8SJE/zxxx/06NHDwFQiItatatWqxMbGcu3aNRo0aJBsGycnJ8qUKfPU57h37x6nTp3itddee+pjiFizf49hAL766ivAMjNMREREREREsh4V/kQkyytWrBg9e/akWLFinDt3jqlTp+Lk5MTw4cONjiYikqndu3ePkydPJmyfOXOGkJAQcubMSalSpejatSvdu3fn888/p2rVqly/fp1169ZRqVIlWrdunerzvffee7Rt25bChQtz6dIlPvzwQ+zt7enSpUtavi0Rq7FgwQJmzpxJq1at8PDwYOvWrfz666/4+flRr149o+OJiIiIiIiIAVT4E5Esr0WLFvz6669cuXIFZ2dn6tSpw3//+19KlixpdDQRkUxtz549NGnSJGF76NChAPTo0YOZM2cSEBDA+PHjeffdd7l48SK5c+emdu3atGnT5qnOd+HCBbp06cLNmzfJkycP9evXJzg4+LFLgYrYskqVKuHg4MCkSZMIDw8nX758DB48mPHjxxsdTURERERERAyie/yJiIiIiIiIiIiIiIiI2AA7owOIiIiIiIiIiIiIiIiIyLNT4U9ERERERERERERERETEBtj8Pf7i4uK4dOkS2bJlw2QyGR1HREREMiGz2czdu3cpUKAAdna6LupxNLYSERGRlND4KuU0vhIREZEnSc3YyuYLf5cuXaJgwYJGxxARERErcP78eXx8fIyOkalpbCUiIiKpofHVk2l8JSIiIimVkrGV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\n" }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": [ "\n", "✅ 正在下载原始 trainer_state.json 和 综合训练指标图表...\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": [ "\n", " async function download(id, filename, size) {\n", " if (!google.colab.kernel.accessAllowed) {\n", " return;\n", " }\n", " const div = document.createElement('div');\n", " const label = document.createElement('label');\n", " label.textContent = `Downloading \"${filename}\": `;\n", " div.appendChild(label);\n", " const progress = document.createElement('progress');\n", " progress.max = size;\n", " div.appendChild(progress);\n", " document.body.appendChild(div);\n", "\n", " const buffers = [];\n", " let downloaded = 0;\n", "\n", " const channel = await google.colab.kernel.comms.open(id);\n", " // Send a message to notify the kernel that we're ready.\n", " channel.send({})\n", "\n", " for await (const message of channel.messages) {\n", " // Send a message to notify the kernel that we're ready.\n", " channel.send({})\n", " if (message.buffers) {\n", " for (const buffer of message.buffers) {\n", " buffers.push(buffer);\n", " downloaded += buffer.byteLength;\n", " progress.value = downloaded;\n", " }\n", " }\n", " }\n", " const blob = new Blob(buffers, {type: 'application/binary'});\n", " const a = document.createElement('a');\n", " a.href = window.URL.createObjectURL(blob);\n", " a.download = filename;\n", " div.appendChild(a);\n", " a.click();\n", " div.remove();\n", " }\n", " " ] }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": [ "download(\"download_ef5fe0e1-c52f-4f1d-8553-9eb671978f0c\", \"trainer_state.json\", 2412)" ] }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": [ "\n", " async function download(id, filename, size) {\n", " if (!google.colab.kernel.accessAllowed) {\n", " return;\n", " }\n", " const div = document.createElement('div');\n", " const label = document.createElement('label');\n", " label.textContent = `Downloading \"${filename}\": `;\n", " div.appendChild(label);\n", " const progress = document.createElement('progress');\n", " progress.max = size;\n", " div.appendChild(progress);\n", " document.body.appendChild(div);\n", "\n", " const buffers = [];\n", " let downloaded = 0;\n", "\n", " const channel = await google.colab.kernel.comms.open(id);\n", " // Send a message to notify the kernel that we're ready.\n", " channel.send({})\n", "\n", " for await (const message of channel.messages) {\n", " // Send a message to notify the kernel that we're ready.\n", " channel.send({})\n", " if (message.buffers) {\n", " for (const buffer of message.buffers) {\n", " buffers.push(buffer);\n", " downloaded += buffer.byteLength;\n", " progress.value = downloaded;\n", " }\n", " }\n", " }\n", " const blob = new Blob(buffers, {type: 'application/binary'});\n", " const a = document.createElement('a');\n", " a.href = window.URL.createObjectURL(blob);\n", " a.download = filename;\n", " div.appendChild(a);\n", " a.click();\n", " div.remove();\n", " }\n", " " ] }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": [ "download(\"download_51eff827-f9b6-46e7-b866-af3afebed314\", \"training_dashboard.png\", 63775)" ] }, "metadata": {} } ] }, { "cell_type": "markdown", "metadata": { "id": "0f63c856" }, "source": [ "### 2. 下载模型权重到本地\n", "将模型文件夹打包为 ZIP 压缩包,并触发浏览器下载。" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 54 }, "id": "b686e5af", "outputId": "dbb43fa1-b360-4e19-8b8c-9fd206ebe0ce" }, "source": [ "import shutil\n", "from google.colab import files\n", "\n", "folder_to_download = \"safetensors_cocreator_qwen35_0.8b\"\n", "zip_filename = \"safetensors_cocreator_qwen35_0.8b.zip\"\n", "\n", "print(f\"正在将 {folder_to_download} 打包为 {zip_filename},这可能需要一点时间,请稍候...\")\n", "# 将文件夹打包为 zip\n", "shutil.make_archive(folder_to_download, 'zip', folder_to_download)\n", "print(\"✅ 打包完成!即将开始下载...\")\n", "\n", "# 触发浏览器下载\n", "files.download(zip_filename)" ], "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "正在将 safetensors_cocreator_qwen35_0.8b 打包为 safetensors_cocreator_qwen35_0.8b.zip,这可能需要一点时间,请稍候...\n", "✅ 打包完成!即将开始下载...\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": [ "\n", " async function download(id, filename, size) {\n", " if (!google.colab.kernel.accessAllowed) {\n", " return;\n", " }\n", " const div = document.createElement('div');\n", " const label = document.createElement('label');\n", " label.textContent = `Downloading \"${filename}\": `;\n", " div.appendChild(label);\n", " const progress = document.createElement('progress');\n", " progress.max = size;\n", " div.appendChild(progress);\n", " document.body.appendChild(div);\n", "\n", " const buffers = [];\n", " let downloaded = 0;\n", "\n", " const channel = await google.colab.kernel.comms.open(id);\n", " // Send a message to notify the kernel that we're ready.\n", " channel.send({})\n", "\n", " for await (const message of channel.messages) {\n", " // Send a message to notify the kernel that we're ready.\n", " channel.send({})\n", " if (message.buffers) {\n", " for (const buffer of message.buffers) {\n", " buffers.push(buffer);\n", " downloaded += buffer.byteLength;\n", " progress.value = downloaded;\n", " }\n", " }\n", " }\n", " const blob = new Blob(buffers, {type: 'application/binary'});\n", " const a = document.createElement('a');\n", " a.href = window.URL.createObjectURL(blob);\n", " a.download = filename;\n", " div.appendChild(a);\n", " a.click();\n", " div.remove();\n", " }\n", " " ] }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": [ "download(\"download_b26f0021-7269-4ab0-833f-8e4d31fc6928\", \"safetensors_cocreator_qwen35_0.8b.zip\", 1392987933)" ] }, "metadata": {} } ] } ] }