diff --git "a/run-output/training/train_grpo.executed.ipynb" "b/run-output/training/train_grpo.executed.ipynb" new file mode 100644--- /dev/null +++ "b/run-output/training/train_grpo.executed.ipynb" @@ -0,0 +1,8154 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5ca314db", + "metadata": { + "papermill": { + "duration": 0.003358, + "end_time": "2026-04-25T22:47:20.131387+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:20.128029+00:00", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Viraltest v2 — Real LLM Training with LoRA + Environment Rewards\n", + "\n", + "This notebook **actually trains** an LLM (Qwen2.5-1.5B-Instruct) to play our Instagram creator simulation.\n", + "\n", + "**Pipeline:**\n", + "1. Clone repo & install deps\n", + "2. Run 5 heuristic baselines × 3 tasks (15 runs) → leaderboard\n", + "3. Run **untrained** LLM on all 3 tasks → \"before\" scores\n", + "4. **LoRA fine-tune** with reward-weighted SFT (4 rounds × 6 episodes = real weight updates)\n", + "5. Run **trained** LLM on all 3 tasks → \"after\" scores\n", + "6. Generate real plots from real numbers\n", + "\n", + "**Requirements:** Colab T4 GPU (free tier), ~45 min total.\n", + "\n", + "**What makes this real training:** LoRA adapter weights are actually updated via gradient descent. The model's behavior changes because its weights change, not because we edit the prompt.\n", + "\n", + "**Before this notebook:** run `training/syntax_only.ipynb` (kernel + syntax only) and `training/train_grpo_smoke.ipynb` (repo + env). Pip lines use quoted package specs so Colab/zsh does not break on `>=`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b5d8dbe9", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:47:20.137930Z", + "iopub.status.busy": "2026-04-25T22:47:20.137724Z", + "iopub.status.idle": "2026-04-25T22:47:50.522798Z", + "shell.execute_reply": "2026-04-25T22:47:50.521941Z" + }, + "papermill": { + "duration": 30.389206, + "end_time": "2026-04-25T22:47:50.523434+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:20.134228+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\r\n", + "\u001b[0m" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\r\n", + "\u001b[0m" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\r\n", + "\u001b[0m" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\r\n", + "\u001b[0m" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\r\n", + "\u001b[0m" + ] + } + ], + "source": [ + "# Cell 1: Install dependencies (quote versions — zsh treats `>` as redirect otherwise)\n", + "!pip install -q torch torchvision torchaudio\n", + "!pip install -q \"transformers>=4.45.0\" \"accelerate\" \"peft>=0.10.0\" \"trl>=0.20.0\" \"datasets\" \"bitsandbytes\"\n", + "!pip install -q matplotlib pandas\n", + "!pip install -q \"typing_extensions>=4.13.0\" pydantic httpx\n", + "!pip install -q \"openenv-core[core]>=0.2.2\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a7e61bef", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:47:50.530520Z", + "iopub.status.busy": "2026-04-25T22:47:50.530325Z", + "iopub.status.idle": "2026-04-25T22:47:50.539949Z", + "shell.execute_reply": "2026-04-25T22:47:50.539185Z" + }, + "papermill": { + "duration": 0.013765, + "end_time": "2026-04-25T22:47:50.540478+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:50.526713+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mode: local\n", + "Repo root: /work\n", + "Working dir: /work\n", + "Branch: hack1\n", + "Commit: 4bfe286\n", + "Plots dir: /work/plots\n" + ] + } + ], + "source": [ + "# Cell 2: Resolve repo path (Colab: fresh clone. Local: auto-detect project root)\n", + "import os\n", + "import sys\n", + "import shutil\n", + "import subprocess\n", + "from pathlib import Path\n", + "\n", + "REPO_BRANCH = \"hack1\"\n", + "REPO_URL = \"https://github.com/VaibhavKhandare/viral-posts-env.git\"\n", + "COLAB_REPO = Path(\"/content/viral-posts-env\")\n", + "\n", + "\n", + "def _is_repo_root(p: Path) -> bool:\n", + " return (p / \"server\" / \"viraltest_environment.py\").is_file() and (p / \"models.py\").is_file()\n", + "\n", + "\n", + "def _find_local_root() -> Path:\n", + " here = Path.cwd().resolve()\n", + " for cand in (here, here.parent, here.parent.parent):\n", + " if _is_repo_root(cand):\n", + " return cand\n", + " raise FileNotFoundError(\n", + " \"Could not find project root. cd into viral-posts-env or run this notebook in Google Colab.\"\n", + " )\n", + "\n", + "\n", + "# --- Colab: always clone a clean copy (avoids stale 7-day code) ---\n", + "if Path(\"/content\").is_dir():\n", + " if COLAB_REPO.exists():\n", + " shutil.rmtree(COLAB_REPO, ignore_errors=True)\n", + " p = subprocess.run(\n", + " [\n", + " \"git\", \"clone\", \"--branch\", REPO_BRANCH, \"--depth\", \"1\",\n", + " REPO_URL, str(COLAB_REPO),\n", + " ],\n", + " capture_output=True,\n", + " text=True,\n", + " )\n", + " if p.returncode != 0:\n", + " raise RuntimeError(\n", + " \"git clone failed. Check network and branch name.\\n\"\n", + " f\"stdout:\\n{p.stdout}\\nstderr:\\n{p.stderr}\"\n", + " )\n", + " if not COLAB_REPO.is_dir():\n", + " raise FileNotFoundError(f\"Clone did not create {COLAB_REPO}\")\n", + " os.chdir(COLAB_REPO)\n", + " print(\"Mode: Colab (fresh clone)\")\n", + "else:\n", + " # --- Local machine: do not use /content ---\n", + " root = _find_local_root()\n", + " os.chdir(root)\n", + " print(\"Mode: local\")\n", + " print(f\"Repo root: {root}\")\n", + "\n", + "REPO_DIR = str(Path.cwd().resolve())\n", + "if REPO_DIR not in sys.path:\n", + " sys.path.insert(0, REPO_DIR)\n", + "\n", + "PLOTS_DIR = os.path.join(REPO_DIR, \"plots\")\n", + "os.makedirs(PLOTS_DIR, exist_ok=True)\n", + "\n", + "try:\n", + " commit = subprocess.check_output(\n", + " [\"git\", \"rev-parse\", \"--short\", \"HEAD\"],\n", + " stderr=subprocess.DEVNULL,\n", + " text=True,\n", + " ).strip()\n", + "except Exception:\n", + " commit = \"n/a\"\n", + "\n", + "print(f\"Working dir: {os.getcwd()}\")\n", + "print(f\"Branch: {REPO_BRANCH}\")\n", + "print(f\"Commit: {commit}\")\n", + "print(f\"Plots dir: {PLOTS_DIR}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f4bc414f", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:47:50.547817Z", + "iopub.status.busy": "2026-04-25T22:47:50.547614Z", + "iopub.status.idle": "2026-04-25T22:47:55.317710Z", + "shell.execute_reply": "2026-04-25T22:47:55.316949Z" + }, + "papermill": { + "duration": 4.774891, + "end_time": "2026-04-25T22:47:55.318265+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:50.543374+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "GPU: NVIDIA L40S\n", + "Tags: 114, Topics: 100, Horizon: 7 days\n", + "OK: ast.parse (syntax check)\n" + ] + } + ], + "source": [ + "# Cell 3: Imports (with runtime validation)\n", + "import json, random, time, textwrap, copy, os, sys\n", + "from pathlib import Path\n", + "from typing import Any, Dict, List, Optional, Tuple\n", + "from collections import defaultdict\n", + "\n", + "# Find repo root if notebook was opened from training/ and Cell 2 was skipped\n", + "if not Path(\"server/viraltest_environment.py\").is_file():\n", + " for cand in (Path.cwd(), Path.cwd().parent, Path.cwd().parent.parent):\n", + " if (cand / \"server\" / \"viraltest_environment.py\").is_file():\n", + " os.chdir(cand)\n", + " s = str(cand.resolve())\n", + " if s not in sys.path:\n", + " sys.path.insert(0, s)\n", + " print(\"Auto chdir to repo root:\", s)\n", + " break\n", + " else:\n", + " raise RuntimeError(\n", + " \"Project files not found. Run **Cell 2** first (Colab), or run from repo root.\\n\"\n", + " f\" cwd = {os.getcwd()!r}\\n\"\n", + " )\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "import torch\n", + "\n", + "from models import ScheduledAction, ToolCall, ViraltestAction\n", + "from server.viraltest_environment import (\n", + " ViraltestEnvironment, TAG_POOL, TASK_HORIZON,\n", + " TOPIC_CATEGORIES,\n", + ")\n", + "\n", + "ALL_TOPICS = [t for topics in TOPIC_CATEGORIES.values() for t in topics]\n", + "NICHES = list(TOPIC_CATEGORIES.keys())\n", + "CONTENT_TYPES = [\"reel\", \"carousel\", \"story\", \"text_post\"]\n", + "INTENTS = [\"send_bait\", \"save_bait\", \"watch_bait\", \"like_bait\"]\n", + "TASKS = [\"monthly_engage\", \"monthly_strategic\", \"monthly_competitive\"]\n", + "\n", + "print(f\"GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU'}\")\n", + "print(f\"Tags: {len(TAG_POOL)}, Topics: {len(ALL_TOPICS)}, Horizon: {TASK_HORIZON} days\")\n", + "\n", + "# Same sanity as syntax_only.ipynb (kernel parses modern Python)\n", + "import ast\n", + "ast.parse(\"def _t(x: int) -> str: return f'{x}'\")\n", + "print(\"OK: ast.parse (syntax check)\")" + ] + }, + { + "cell_type": "markdown", + "id": "5fa33870", + "metadata": { + "papermill": { + "duration": 0.002762, + "end_time": "2026-04-25T22:47:55.325185+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:55.322423+00:00", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Part 1: Heuristic Baselines\n", + "\n", + "5 scripted agents prove the environment differentiates skill levels." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "077a1629", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:47:55.334315Z", + "iopub.status.busy": "2026-04-25T22:47:55.333882Z", + "iopub.status.idle": "2026-04-25T22:47:55.343276Z", + "shell.execute_reply": "2026-04-25T22:47:55.342442Z" + }, + "papermill": { + "duration": 0.01574, + "end_time": "2026-04-25T22:47:55.343789+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:55.328049+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Agents and episode runner defined.\n" + ] + } + ], + "source": [ + "# Cell 4: Define heuristic agents + episode runner\n", + "_rng = random.Random(42)\n", + "\n", + "def plan_always_rest(obs_dict, day):\n", + " return ViraltestAction(scheduled_actions=[])\n", + "\n", + "def plan_spam(obs_dict, day):\n", + " return ViraltestAction(scheduled_actions=[\n", + " ScheduledAction(hour=h, action_type=\"post\", content_type=\"reel\",\n", + " topic=\"AI tools\", tags=[\"ai\"], intent=\"watch_bait\")\n", + " for h in range(24)])\n", + "\n", + "def plan_random(obs_dict, day):\n", + " actions = []\n", + " for h in range(24):\n", + " if _rng.random() < 0.1:\n", + " actions.append(ScheduledAction(\n", + " hour=h, action_type=\"post\",\n", + " content_type=_rng.choice(CONTENT_TYPES),\n", + " topic=_rng.choice(ALL_TOPICS),\n", + " tags=_rng.sample(TAG_POOL[:30], 3),\n", + " intent=_rng.choice(INTENTS)))\n", + " return ViraltestAction(scheduled_actions=actions)\n", + "\n", + "def plan_minimal(obs_dict, day):\n", + " return ViraltestAction(scheduled_actions=[\n", + " ScheduledAction(hour=12, action_type=\"post\", content_type=\"carousel\",\n", + " topic=ALL_TOPICS[day % len(ALL_TOPICS)],\n", + " tags=[TAG_POOL[i % len(TAG_POOL)] for i in range(day, day+3)],\n", + " intent=\"save_bait\")])\n", + "\n", + "def plan_smart(obs_dict, day):\n", + " return ViraltestAction(\n", + " tool_calls=[ToolCall(name=\"query_trends\",\n", + " arguments={\"niche\": NICHES[day % len(NICHES)]})] if day <= 3 else [],\n", + " scheduled_actions=[\n", + " ScheduledAction(hour=8, action_type=\"create_content\"),\n", + " ScheduledAction(hour=12, action_type=\"post\",\n", + " content_type=CONTENT_TYPES[(day*2)%4],\n", + " topic=ALL_TOPICS[(day*2)%len(ALL_TOPICS)],\n", + " tags=[TAG_POOL[(day*6+i)%len(TAG_POOL)] for i in range(3)],\n", + " intent=INTENTS[(day*2)%4]),\n", + " ScheduledAction(hour=19, action_type=\"post\",\n", + " content_type=CONTENT_TYPES[(day*2+1)%4],\n", + " topic=ALL_TOPICS[(day*2+1)%len(ALL_TOPICS)],\n", + " tags=[TAG_POOL[(day*6+3+i)%len(TAG_POOL)] for i in range(3)],\n", + " intent=INTENTS[(day*2+1)%4]),\n", + " ])\n", + "\n", + "BASELINE_AGENTS = {\n", + " \"always_rest\": plan_always_rest, \"spam\": plan_spam,\n", + " \"random\": plan_random, \"minimal\": plan_minimal, \"smart\": plan_smart,\n", + "}\n", + "\n", + "def run_episode(task, plan_fn, seed=42):\n", + " env = ViraltestEnvironment()\n", + " obs = env.reset(task=task, seed=seed)\n", + " obs_dict = obs.model_dump()\n", + " rewards, energies = [], [obs.creator_energy]\n", + " for day in range(1, TASK_HORIZON + 1):\n", + " action = plan_fn(obs_dict, day)\n", + " obs = env.step(action)\n", + " obs_dict = obs.model_dump()\n", + " rewards.append(obs.reward or 0.0)\n", + " energies.append(obs.creator_energy)\n", + " if obs.done: break\n", + " grader = (obs.metadata or {}).get(\"grader_score\", 0.0)\n", + " return {\"grader_score\": grader, \"total_reward\": sum(rewards),\n", + " \"steps\": len(rewards), \"final_energy\": obs.creator_energy,\n", + " \"follower_delta\": obs.follower_count - 10000,\n", + " \"burned_out\": obs.creator_energy <= 0,\n", + " \"rewards\": rewards, \"energies\": energies}\n", + "\n", + "print(\"Agents and episode runner defined.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2a4c6d33", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:47:55.350265Z", + "iopub.status.busy": "2026-04-25T22:47:55.350091Z", + "iopub.status.idle": "2026-04-25T22:47:55.385312Z", + "shell.execute_reply": "2026-04-25T22:47:55.384426Z" + }, + "papermill": { + "duration": 0.039231, + "end_time": "2026-04-25T22:47:55.385903+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:55.346672+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running heuristic baselines (5 agents × 3 tasks)...\n", + "======================================================================\n", + " always_rest | monthly_engage | score=0.0000 | energy=1.00\n", + " always_rest | monthly_strategic | score=0.1750 | energy=1.00\n", + " always_rest | monthly_competitive | score=0.0350 | energy=1.00\n", + "\n", + " spam | monthly_engage | score=0.0178 | energy=0.00\n", + " spam | monthly_strategic | score=0.0075 | energy=0.00\n", + " spam | monthly_competitive | score=0.0000 | energy=0.00\n", + "\n", + " random | monthly_engage | score=0.6125 | energy=1.00\n", + " random | monthly_strategic | score=0.6080 | energy=1.00\n", + " random | monthly_competitive | score=0.6825 | energy=1.00\n", + "\n", + " minimal | monthly_engage | score=0.3349 | energy=1.00\n", + " minimal | monthly_strategic | score=0.4813 | energy=1.00\n", + " minimal | monthly_competitive | score=0.3251 | energy=1.00\n", + "\n", + " smart | monthly_engage | score=0.6342 | energy=1.00\n", + " smart | monthly_strategic | score=0.7218 | energy=1.00\n", + " smart | monthly_competitive | score=0.8315 | energy=1.00\n", + "\n", + "\n", + "LEADERBOARD\n", + "Agent Engage Strategic Competitive Avg\n", + "------------------------------------------------------------\n", + "always_rest 0.0000 0.1750 0.0350 0.0700\n", + "spam 0.0178 0.0075 0.0000 0.0084\n", + "random 0.6125 0.6080 0.6825 0.6343\n", + "minimal 0.3349 0.4813 0.3251 0.3804\n", + "smart 0.6342 0.7218 0.8315 0.7292\n" + ] + } + ], + "source": [ + "# Cell 5: Run baselines (safe)\n", + "print(\"Running heuristic baselines (5 agents × 3 tasks)...\")\n", + "print(\"=\" * 70)\n", + "\n", + "required = [\"BASELINE_AGENTS\", \"run_episode\", \"TASKS\", \"random\"]\n", + "missing = [k for k in required if k not in globals()]\n", + "if missing:\n", + " raise RuntimeError(\n", + " f\"Missing prerequisites: {missing}. Run notebook from top (Cell 1 -> Cell 5).\"\n", + " )\n", + "\n", + "baseline_results = {}\n", + "for name, fn in BASELINE_AGENTS.items():\n", + " baseline_results[name] = {}\n", + " for task in TASKS:\n", + " _rng = random.Random(42)\n", + " try:\n", + " result = run_episode(task, fn, seed=42)\n", + " except Exception as e:\n", + " raise RuntimeError(\n", + " f\"Baseline failed for agent={name}, task={task}: {type(e).__name__}: {e}\"\n", + " ) from e\n", + " baseline_results[name][task] = result\n", + " print(f\" {name:>12s} | {task:>22s} | score={result['grader_score']:.4f} \"\n", + " f\"| energy={result['final_energy']:.2f}\")\n", + " print()\n", + "\n", + "print(\"\\nLEADERBOARD\")\n", + "print(f\"{'Agent':<14s} {'Engage':>10s} {'Strategic':>12s} {'Competitive':>14s} {'Avg':>8s}\")\n", + "print(\"-\" * 60)\n", + "for name in BASELINE_AGENTS:\n", + " scores = [baseline_results[name][t][\"grader_score\"] for t in TASKS]\n", + " print(f\"{name:<14s} {scores[0]:>10.4f} {scores[1]:>12.4f} {scores[2]:>14.4f} {sum(scores)/3:>8.4f}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "5e1c14be", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:47:55.392614Z", + "iopub.status.busy": "2026-04-25T22:47:55.392439Z", + "iopub.status.idle": "2026-04-25T22:47:55.784484Z", + "shell.execute_reply": "2026-04-25T22:47:55.783650Z" + }, + "papermill": { + "duration": 0.396079, + "end_time": "2026-04-25T22:47:55.785041+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:55.388962+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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Ozr+X17X+P9DV++e4CujCbfvtmbNGjOJ4e7urvfff19bt27Vjh07zEnHJSklJSVdm9lpPycSExPztD0AALIrJCRE48aN01dffaULFy5o48aN5u0PJWnPnj25ajcoKCjduhkzZphJjAoVKmjp0qXavn27zSTf0v/F3ryUGmvzM54DAHAv7u7uCgkJMZ9ndrFbXkq9PbMk2dv/38+LdydVUhn3adLqgv4eXLJkSTVr1kyS9Ntvv2n79u0Z3lYqJwr6mACrIJEBAJkoX768zY8Ru3fvNh//+OOP6UZjSFJcXJz5uGXLloqOjlajRo1UtWpVnTp1Kl35ChUqmI+PHTum8+fPm88zGl0iSaGhoebjnj17yjCMDBeu2gAA3G9bt25NFx8dHBzUokULPfHEE+a61KRC2h8+0q7PTEZJgrSxd8SIEerVq5fq168vBweHTNtJu9+791m4cGGbK0i/+uqrDONsYmKiJkyYIMk2nqf9vCBJMTExWR7T3SpXrmw+XrNmTbrt9+uHIADAgyUqKsp8vHnz5nTzUKU6evSobt26pUqVKpnrdu7caVMm7fO05fLDpUuX9NNPP5nPv//+e3M0hnTne3luYrOUdby/l7SfOXJaN22y4q233jK/24eFhalWrVrmtrTf7evWrZvpd3sSGcAd3FoKwEMlox8LHB0dVbt27Ry35e/vryZNmmjLli2SpGeffVbx8fFydXW1+XCUVtrbWG3ZskVLliyRt7e33nnnHfN2Umk1b95c3t7eio+P182bN9W5c2e9+OKLOn36tMaNG5fhPqKiojRt2jRzqKqnp6fatGkjFxcXnTp1SrGxsVq/fr3GjBlj82EWAID8Nm/ePK1evVpt2rRR48aNVa5cOdnZ2SkmJkabNm0yy6XedsLPz092dnbmj/PvvfeeatWqJXt7+3S3aMpM2tj74YcfqnTp0rp48WKmcVSyvQXGl19+qXr16snNzU2lSpVScHCwBgwYoLfffluS1K9fP7388st67LHHlJiYqLi4OO3evVuff/65EhISJEndunXTZ599Jklau3atxo4dq3r16mnNmjU5uq2UJD399NNmndWrV6tHjx7q3r27nJyc9N133+nUqVOaO3dujtoEADz8nnvuOS1fvlwHDhyQdOeit6+//lpt2rSRl5eXfv/9d23cuFErV67U2bNnFRUVpR9++EGSNGfO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a5Z69eolSUpPT1dDQ4NeeuklxcXF6dFHH9WECRPU0dFxQ71duYDWFWfPntXChQtVW1vrue3fv1+NjY3Kzs5WfHy8PvroI5WXlys1NVVPP/20Ro4cqdbWVq9mGhMTo4SEhG63a3nwwQe1evVqNTc3q7m5WWvWrLnuD83fdKy/3w8AgM1uNLvhPN68hrl06ZIuXLigS5cuqaurSxcuXLjqNe/u3bv1+eef67777ut2f2trqyorK3X+/Hl1dnaqqqpKmzZt0owZMyRJvXr10qxZs1RUVKTTp0+rsbFRGzZs4PUUAPhJILPbVz+7nz17VmVlZWptbZUxRnV1dVq1apUmT54siawBADhf5Dcf4h8tLS1qaGhQaWmp8vPzJclzvYvrmThxot5++23t27dPq1evVt++fZWTk6PVq1crNTVVgwcPliR98sknamlp0dq1az2neP7zn/+86uNNmTJFvXv31ssvv6ydO3fqb3/7W7f3x8XFadq0aZo2bZoKCws1dOhQ1dXV6Y477vC63zvuuEP19fWea3hcS2RkpCZNmqRJkyapuLhYSUlJ+utf/6of//jHio6OVmdnp9ef93qKiorU0tKinJwcSdIDDzygJ598UpL0yCOPSJI2bdr0jccG4v0AAABO5M3rqVWrVmn58uWex8bFxXW7Bpx0+SLfP/nJT676zdmOjg4tX75cs2fPliRlZmbqV7/6ledMYknauHGjFi5cqIEDByouLk6LFi3ST3/6U983DQAIKF/97B4WFqY//vGPWrp0qdrb29W/f3/NmDHDk01kDQDA6cKMMSYYn7irq0v9+/fXD37wAxUXF+v48eN64oknPGdPjBo1St/5zndUU1OjUaNGSZJee+01zZgxQ/369dPJkyclSYsXL9bGjRs1c+ZMlZeXS5I+++wzDRw4UI899pgeeeQRHThwQD//+c91+PDhbh9PkpYtW6aSkhJlZ2d3uzbH1q1b1dnZqdzcXPXq1UtlZWV6/vnndeLECX3rW9/62t4yMzO1ePFiLV682HPfxx9/rO9+97v62c9+pvnz56t3796qr6/X7t27tXHjRr3xxhs6duyYJkyYoOTkZFVWVmrRokX6+OOPNWzYMC1YsEC1tbV65ZVX1KdPH/Xt27fbaZ7Xc+bMGSUmJur06dP8hicAwBo259uV3j75vzsUH3nta2IhONLe3xfsEgAg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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 6: Baseline plots\n", + "fig, axes = plt.subplots(1, 3, figsize=(16, 5), sharey=True)\n", + "agent_names = list(BASELINE_AGENTS.keys())\n", + "colors = ['#E53935', '#FF9800', '#9E9E9E', '#42A5F5', '#4CAF50']\n", + "for i, task in enumerate(TASKS):\n", + " scores = [baseline_results[a][task][\"grader_score\"] for a in agent_names]\n", + " bars = axes[i].barh(agent_names, scores, color=colors)\n", + " axes[i].set_title(task.replace(\"monthly_\", \"\").title(), fontsize=13, fontweight='bold')\n", + " for bar, score in zip(bars, scores):\n", + " axes[i].text(bar.get_width() + 0.005, bar.get_y() + bar.get_height()/2,\n", + " f\"{score:.4f}\", va='center', fontsize=9)\n", + "axes[0].set_ylabel(\"Agent\")\n", + "fig.suptitle(\"Viraltest v2 — Heuristic Baseline Leaderboard\", fontsize=14, fontweight='bold')\n", + "fig.tight_layout()\n", + "fig.savefig(f\"{PLOTS_DIR}/baseline_leaderboard.png\", dpi=150, bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "aa65e138", + "metadata": { + "papermill": { + "duration": 0.003195, + "end_time": "2026-04-25T22:47:55.791791+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:55.788596+00:00", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Part 2: Load LLM (Qwen2.5-1.5B-Instruct)\n", + "\n", + "We load the base model with 4-bit quantization to fit in free Colab's T4 GPU (16GB VRAM)." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c398c28f", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:47:55.799357Z", + "iopub.status.busy": "2026-04-25T22:47:55.799159Z", + "iopub.status.idle": "2026-04-25T22:48:07.663196Z", + "shell.execute_reply": "2026-04-25T22:48:07.662555Z" + }, + "papermill": { + "duration": 11.868763, + "end_time": "2026-04-25T22:48:07.663781+00:00", + "exception": false, + "start_time": "2026-04-25T22:47:55.795018+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8276e58154be4b79be454000483941ef", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "config.json: 0%| | 0.00/660 [00:00=0.46.1` and use a GPU runtime.\\n\"\n", + " \" On Mac: use fp16 on MPS or fp32 on CPU.\"\n", + " )\n", + " dtype = torch.float16 if (torch.cuda.is_available() or getattr(torch.backends, \"mps\", None) and torch.backends.mps.is_available()) else torch.float32\n", + " model = AutoModelForCausalLM.from_pretrained(\n", + " MODEL_NAME,\n", + " trust_remote_code=True,\n", + " dtype=dtype,\n", + " device_map=\"auto\" if torch.cuda.is_available() else None,\n", + " )\n", + " if not torch.cuda.is_available():\n", + " if getattr(torch.backends, \"mps\", None) and torch.backends.mps.is_available():\n", + " model = model.to(\"mps\")\n", + " else:\n", + " model = model.to(\"cpu\")\n", + "\n", + "model.eval()\n", + "print(f\"Model loaded. dtype={next(model.parameters()).dtype}\")\n", + "try:\n", + " print(f\"Device: {model.device}\")\n", + "except Exception:\n", + " print(\"Device: (see first parameter device)\")\n", + "if torch.cuda.is_available():\n", + " print(f\"CUDA memory: {torch.cuda.memory_allocated()/1e9:.2f} GB\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "62b45537", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:48:07.673186Z", + "iopub.status.busy": "2026-04-25T22:48:07.672763Z", + "iopub.status.idle": "2026-04-25T22:48:07.687754Z", + "shell.execute_reply": "2026-04-25T22:48:07.686981Z" + }, + "papermill": { + "duration": 0.020105, + "end_time": "2026-04-25T22:48:07.688306+00:00", + "exception": false, + "start_time": "2026-04-25T22:48:07.668201+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LLM agent functions defined.\n" + ] + } + ], + "source": [ + "# Cell 8: LLM agent functions\n", + "SYSTEM_PROMPT = textwrap.dedent(\"\"\"\\\n", + "You are an Instagram content strategy agent. Each step is one day.\n", + "You manage a creator account over a 30-day cycle.\n", + "\n", + "RESPONSE FORMAT — return ONLY valid JSON, no markdown:\n", + "{\n", + " \"tool_calls\": [{\"name\": \"\", \"arguments\": {...}}],\n", + " \"scheduled_actions\": [\n", + " {\"hour\": 0-23, \"action_type\": \"post|create_content\",\n", + " \"content_type\": \"reel|story|carousel|text_post\",\n", + " \"topic\": \"\", \"tags\": [\"...\"],\n", + " \"intent\": \"send_bait|save_bait|watch_bait|like_bait\"}\n", + " ],\n", + " \"notes\": \"strategy notes\"\n", + "}\n", + "\n", + "TOOLS (cost in API budget, total=100):\n", + "- query_trends(niche) cost=1 trending topics+tags for niche\n", + "- query_audience(segment_id) cost=2 segment topic affinities + active hours\n", + "- query_competitor(competitor_id, window_days) cost=2 competitor recent posts\n", + "- query_tag_history(tag) cost=1 your past signals (watch/sends/saves/likes) for a tag\n", + "- predict_engagement(scheduled_actions) cost=3 simulate a plan WITHOUT committing\n", + "- draft_review(scheduled_actions) cost=3 AI review of a draft plan\n", + "- query_creator_pool() cost=1 list collab partners with audience overlap\n", + "- propose_collab(partner_id, content_type, hour) cost=5 co-author the post at that hour (max 2/month)\n", + "\n", + "ACTION SCHEMA:\n", + "- hour: 0..23 (unlisted hours = rest)\n", + "- action_type: post (publish) | create_content (build queue, no publish)\n", + "- content_type: reel | story | carousel | text_post\n", + "- intent: which Mosseri signal the post optimises for\n", + " send_bait -> DM shares (strongest discovery signal)\n", + " save_bait -> bookmarks (content quality)\n", + " watch_bait -> reels watch time\n", + " like_bait -> likes from existing followers\n", + "- tags: up to 5 hashtags\n", + "- topic: free-form string\n", + "- empty scheduled_actions = full day rest\"\"\")\n", + "\n", + "\n", + "def format_obs(obs):\n", + " days = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"]\n", + " day_name = days[obs.day_of_week] if 0 <= obs.day_of_week < 7 else \"?\"\n", + " signals_str = \"\"\n", + " signals = getattr(obs, \"engagement_signals\", None)\n", + " if signals:\n", + " signals_str = (f\"Signals: watch={signals.watch_time:.3f} \"\n", + " f\"sends={signals.sends_per_reach:.3f} \"\n", + " f\"saves={signals.saves:.3f}\\n\")\n", + " tool_str = \"\"\n", + " for tr in getattr(obs, \"tool_results\", []):\n", + " if tr.success:\n", + " tool_str += f\" {tr.name}: {json.dumps(tr.data)}\\n\"\n", + " if not tool_str:\n", + " tool_str = \" (none)\\n\"\n", + " return (f\"Day: {day_name} | days_elapsed={obs.days_elapsed}\\n\"\n", + " f\"Energy: {obs.creator_energy:.2f} | Followers: {obs.follower_count}\\n\"\n", + " f\"Engagement: {obs.engagement_rate:.3f} | Queue: {obs.content_queue_size}\\n\"\n", + " f\"{signals_str}\"\n", + " f\"Tool results:\\n{tool_str}\"\n", + " f\"Plan your actions (JSON only):\")\n", + "\n", + "\n", + "def parse_model_output(text):\n", + " text = text.strip()\n", + " if \"```\" in text:\n", + " lines = [l for l in text.split(\"\\n\") if not l.strip().startswith(\"```\")]\n", + " text = \"\\n\".join(lines).strip()\n", + " start, end = text.find(\"{\"), text.rfind(\"}\") + 1\n", + " if start >= 0 and end > start:\n", + " text = text[start:end]\n", + " try:\n", + " data = json.loads(text)\n", + " tool_calls = [ToolCall(name=tc[\"name\"], arguments=tc.get(\"arguments\", {}))\n", + " for tc in data.get(\"tool_calls\", []) if isinstance(tc, dict) and \"name\" in tc]\n", + " scheduled = []\n", + " for a in data.get(\"scheduled_actions\", []):\n", + " try:\n", + " scheduled.append(ScheduledAction(**a))\n", + " except Exception:\n", + " # Same as original bare `except:`: skip invalid scheduled_actions entries\n", + " pass\n", + " return ViraltestAction(\n", + " tool_calls=tool_calls,\n", + " scheduled_actions=scheduled,\n", + " notes=data.get(\"notes\"),\n", + " )\n", + " except Exception:\n", + " # Same behavior as original bare `except:`: any parse/validation failure -> empty action\n", + " return ViraltestAction(scheduled_actions=[])\n", + "\n", + "\n", + "def _infer_model_device(m):\n", + " \"\"\"Works for single/multi-device models (Peft, 4-bit) where m.device may be missing.\"\"\"\n", + " p = next(m.parameters(), None)\n", + " if p is not None:\n", + " return p.device\n", + " d = getattr(m, \"device\", None)\n", + " if d is not None:\n", + " return d\n", + " return torch.device(\"cpu\")\n", + "\n", + "\n", + "def generate_action(mdl, tok, obs, history, temperature=0.7, debug=True):\n", + " prompt = format_obs(obs)\n", + " messages = [{\"role\": \"system\", \"content\": SYSTEM_PROMPT}]\n", + " messages.extend(history[-14:])\n", + " messages.append({\"role\": \"user\", \"content\": prompt})\n", + " text_input = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)\n", + " inputs = tok(text_input, return_tensors=\"pt\").to(_infer_model_device(mdl))\n", + " with torch.no_grad():\n", + " out = mdl.generate(**inputs, max_new_tokens=512, temperature=temperature,\n", + " do_sample=True, top_p=0.9, pad_token_id=tok.eos_token_id)\n", + " resp = tok.decode(out[0][inputs[\"input_ids\"].shape[1]:], skip_special_tokens=True)\n", + " if debug:\n", + " print(\"=\" * 60)\n", + " print(f\"[LLM PROMPT] tokens={inputs['input_ids'].shape[1]}\")\n", + " print(prompt)\n", + " print(\"-\" * 60)\n", + " print(f\"[LLM RESPONSE] tokens={out.shape[1] - inputs['input_ids'].shape[1]}\")\n", + " print(resp)\n", + " print(\"=\" * 60)\n", + " return resp, parse_model_output(resp)\n", + "\n", + "\n", + "def run_llm_episode(mdl, tok, task, seed=42, verbose=False, debug_llm=True):\n", + " env = ViraltestEnvironment()\n", + " obs = env.reset(task=task, seed=seed)\n", + " rewards, energies = [], [obs.creator_energy]\n", + " history, pairs = [], []\n", + " for day in range(1, TASK_HORIZON + 1):\n", + " if obs.done: break\n", + " if debug_llm:\n", + " print(f\"\\n>>> Day {day} | task={task} | energy={obs.creator_energy:.2f}\")\n", + " resp, action = generate_action(mdl, tok, obs, history, debug=debug_llm)\n", + " prompt = format_obs(obs)\n", + " pairs.append({\"prompt\": prompt, \"response\": resp})\n", + " obs = env.step(action)\n", + " r = obs.reward or 0.0\n", + " rewards.append(r)\n", + " energies.append(obs.creator_energy)\n", + " history.extend([{\"role\": \"user\", \"content\": prompt},\n", + " {\"role\": \"assistant\", \"content\": resp}])\n", + " if verbose:\n", + " n_p = len([s for s in action.scheduled_actions if s.action_type==\"post\"])\n", + " print(f\" Day {day:2d}: r={r:.4f} e={obs.creator_energy:.2f} posts={n_p} tools={len(action.tool_calls)}\")\n", + " if obs.done: break\n", + " gs = (obs.metadata or {}).get(\"grader_score\", 0.0)\n", + " # Per-step credit assignment: G_t = r_t + gamma * G_{t+1}, terminal = grader_score * w\n", + " GAMMA, TERMINAL_W = 0.95, 5.0\n", + " G, returns = gs * TERMINAL_W, [0.0] * len(rewards)\n", + " for t in reversed(range(len(rewards))):\n", + " G = rewards[t] + GAMMA * G\n", + " returns[t] = G\n", + " for i, pr in enumerate(pairs):\n", + " pr[\"return\"] = returns[i] if i < len(returns) else 0.0\n", + " return {\"task\": task, \"grader_score\": gs, \"total_reward\": sum(rewards),\n", + " \"final_energy\": obs.creator_energy, \"rewards\": rewards,\n", + " \"returns\": returns, \"energies\": energies, \"pairs\": pairs,\n", + " \"follower_delta\": obs.follower_count - 10000,\n", + " \"burned_out\": obs.creator_energy <= 0}\n", + "\n", + "print(\"LLM agent functions defined.\")" + ] + }, + { + "cell_type": "markdown", + "id": "2ca536ec", + "metadata": { + "papermill": { + "duration": 0.00386, + "end_time": "2026-04-25T22:48:07.696100+00:00", + "exception": false, + "start_time": "2026-04-25T22:48:07.692240+00:00", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Part 3: Untrained LLM Baseline (“Before”)\n", + "\n", + "Run the base model with NO fine-tuning. This establishes ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "17cdad0c", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:48:07.707740Z", + "iopub.status.busy": "2026-04-25T22:48:07.707565Z", + "iopub.status.idle": "2026-04-25T22:51:33.776174Z", + "shell.execute_reply": "2026-04-25T22:51:33.775168Z" + }, + "papermill": { + "duration": 206.073866, + "end_time": "2026-04-25T22:51:33.776812+00:00", + "exception": false, + "start_time": "2026-04-25T22:48:07.702946+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running UNTRAINED base model on all tasks...\n", + "============================================================\n", + "\n", + " Task: monthly_engage\n", + "\n", + ">>> Day 1 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=538\n", + "Day: Mon | days_elapsed=0\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 0\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=96\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"daily tips\",\n", + " \"tags\": [\"daily\", \"tips\", \"inspiration\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Started with daily tips as it's a common and easy-to-share theme.\"\n", + "}\n", + "============================================================\n", + " Day 1: r=0.2191 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 2 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=722\n", + "Day: Tue | days_elapsed=1\n", + "Energy: 1.00 | Followers: 10076\n", + "Engagement: 0.760 | Queue: 0\n", + "Signals: watch=0.380 sends=0.304 saves=0.076\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=158\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"weekly productivity tips\",\n", + " \"tags\": [\"productivity\", \"tips\", \"success\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 18,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"carousel\",\n", + " \"topic\": \"best practices for remote work\",\n", + " \"tags\": [\"remote\", \"work\", \"tips\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Adjusted strategy based on engagement metrics, focusing on productivity and remote work themes.\"\n", + "}\n", + "============================================================\n", + " Day 2: r=0.2062 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 3 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=968\n", + "Day: Wed | days_elapsed=2\n", + "Energy: 1.00 | Followers: 10095\n", + "Engagement: 0.476 | Queue: 1\n", + "Signals: watch=0.038 sends=0.123 saves=0.010\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=162\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 12,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"daily mindfulness exercises\",\n", + " \"tags\": [\"mindfulness\", \"exercise\", \"morning\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 20,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"carousel\",\n", + " \"topic\": \"top travel destinations\",\n", + " \"tags\": [\"travel\", \"destinations\", \"explore\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Increased focus on mental health and travel destinations after initial productivity and remote work efforts.\"\n", + "}\n", + "============================================================\n", + " Day 3: r=0.1769 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 4 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1218\n", + "Day: Thu | days_elapsed=3\n", + "Energy: 1.00 | Followers: 10195\n", + "Engagement: 0.651 | Queue: 1\n", + "Signals: watch=0.150 sends=0.150 saves=0.501\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=160\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 1,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"monthly skincare routine\",\n", + " \"tags\": [\"skincare\", \"routine\", \"beauty\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 11,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"essential home decor items\",\n", + " \"tags\": [\"decor\", \"home\", \"items\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Continued trend towards mental wellness, beauty routines, and practical home decor advice.\"\n", + "}\n", + "============================================================\n", + " Day 4: r=0.2302 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 5 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1466\n", + "Day: Fri | days_elapsed=4\n", + "Energy: 1.00 | Followers: 10198\n", + "Engagement: 0.498 | Queue: 1\n", + "Signals: watch=0.012 sends=0.016 saves=0.002\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=167\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 13,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"carousel\",\n", + " \"topic\": \"cooking techniques\",\n", + " \"tags\": [\"cooking\", \"techniques\", \"recipes\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 21,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"seasonal outdoor activities\",\n", + " \"tags\": [\"outdoor\", \"activities\", \"seasonal\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Shifted focus to cooking techniques and seasonal outdoor activities to align with current trends in hobbies and leisure.\"\n", + "}\n", + "============================================================\n", + " Day 5: r=0.1732 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 6 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1721\n", + "Day: Sat | days_elapsed=5\n", + "Energy: 1.00 | Followers: 10319\n", + "Engagement: 0.642 | Queue: 1\n", + "Signals: watch=0.913 sends=0.304 saves=0.122\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=165\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"interview with local artists\",\n", + " \"tags\": [\"artists\", \"local\", \"celebrity\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 14,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"summer fashion trends\",\n", + " \"tags\": [\"fashion\", \"trends\", \"summer\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Encouraged diversity in interests by including interviews with local celebrities and discussing summer fashion trends.\"\n", + "}\n", + "============================================================\n", + " Day 6: r=0.2156 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 7 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1974\n", + "Day: Sun | days_elapsed=6\n", + "Energy: 1.00 | Followers: 10367\n", + "Engagement: 0.616 | Queue: 1\n", + "Signals: watch=0.365 sends=0.122 saves=0.049\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=168\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 12,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"remote work productivity hacks\",\n", + " \"tags\": [\"remote\", \"work\", \"hacks\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 20,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"new year's resolutions\",\n", + " \"tags\": [\"resolutions\", \"goals\", \"NewYear\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Stressed about keeping up momentum so adjusted strategy to include productivity hacks and New Year's resolution-themed content.\"\n", + "}\n", + "============================================================\n", + " Day 7: r=0.1716 e=1.00 posts=1 tools=0\n", + " => grader=0.3048 reward=1.393\n", + "\n", + " Task: monthly_strategic\n", + "\n", + ">>> Day 1 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=538\n", + "Day: Mon | days_elapsed=0\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 0\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=156\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"daily routine\",\n", + " \"tags\": [\"morning\", \"start\", \"day\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"inspired by nature\",\n", + " \"tags\": [\"nature\", \"peaceful\", \"adventure\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Starts posting daily routines and reels inspired by nature.\"\n", + "}\n", + "============================================================\n", + " Day 1: r=0.2089 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 2 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=782\n", + "Day: Tue | days_elapsed=1\n", + "Energy: 1.00 | Followers: 10042\n", + "Engagement: 0.426 | Queue: 1\n", + "Signals: watch=0.021 sends=0.068 saves=0.128\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=157\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"how-to blog entry\",\n", + " \"tags\": [\"technology\", \"tutorial\", \"infographics\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 15,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"personal development\",\n", + " \"tags\": [\"growth\", \"self-improvement\", \"mindset\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Publishes a new tech tutorial and personal development story.\"\n", + "}\n", + "============================================================\n", + " Day 2: r=0.2091 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 3 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1027\n", + "Day: Wed | days_elapsed=2\n", + "Energy: 1.00 | Followers: 10087\n", + "Engagement: 0.439 | Queue: 1\n", + "Signals: watch=0.023 sends=0.072 saves=0.136\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=154\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"motivational quote\",\n", + " \"tags\": [\"quotes\", \"motivation\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 16,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"carousel\",\n", + " \"topic\": \"travel destinations\",\n", + " \"tags\": [\"destinations\", \"vacation\", \"explore\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Posts motivational quotes and a destination carousel.\"\n", + "}\n", + "============================================================\n", + " Day 3: r=0.2172 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 4 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1269\n", + "Day: Thu | days_elapsed=3\n", + "Energy: 1.00 | Followers: 10231\n", + "Engagement: 0.774 | Queue: 1\n", + "Signals: watch=1.084 sends=0.361 saves=0.144\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=156\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"science experiments\",\n", + " \"tags\": [\"experiments\", \"science\", \"fun\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"history lesson\",\n", + " \"tags\": [\"education\", \"history\", \"facts\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Creates two engaging posts: a science experiment reel and a history lesson story.\"\n", + "}\n", + "============================================================\n", + " Day 4: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 5 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1513\n", + "Day: Fri | days_elapsed=4\n", + "Energy: 1.00 | Followers: 10231\n", + "Engagement: 0.774 | Queue: 3\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=155\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"random facts\",\n", + " \"tags\": [\"fun\", \"knowledge\", \"interesting\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 15,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"space exploration\",\n", + " \"tags\": [\"exploration\", \"astronomy\", \"galaxy\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Shares random facts through a reel and publishes a space exploration story.\"\n", + "}\n", + "============================================================\n", + " Day 5: r=0.2129 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 6 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1756\n", + "Day: Sat | days_elapsed=5\n", + "Energy: 1.00 | Followers: 10337\n", + "Engagement: 0.847 | Queue: 3\n", + "Signals: watch=0.532 sends=0.426 saves=0.106\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=158\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"healthy living tips\",\n", + " \"tags\": [\"wellness\", \"nutrition\", \"tips\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 16,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"local events\",\n", + " \"tags\": [\"events\", \"community\", \"local\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Creates two interesting posts: a healthy living tip reel and a local event story.\"\n", + "}\n", + "============================================================\n", + " Day 6: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 7 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2002\n", + "Day: Sun | days_elapsed=6\n", + "Energy: 1.00 | Followers: 10337\n", + "Engagement: 0.847 | Queue: 5\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=155\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"artistic expression\",\n", + " \"tags\": [\"creativity\", \"art\", \"expression\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"famous artists\",\n", + " \"tags\": [\"artists\", \"art\", \"celebrity\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Shares creative art through a reel and discovers famous artists.\"\n", + "}\n", + "============================================================\n", + " Day 7: r=0.2134 e=1.00 posts=1 tools=0\n", + " => grader=0.3456 reward=1.361\n", + "\n", + " Task: monthly_competitive\n", + "\n", + ">>> Day 1 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=538\n", + "Day: Mon | days_elapsed=0\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 0\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=152\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 7,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"daily routine\",\n", + " \"tags\": [\"morning\", \"routine\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"weekly update\",\n", + " \"tags\": [\"update\", \"news\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Created a daily reel focused on morning routines and a weekly update post promoting the news feed.\"\n", + "}\n", + "============================================================\n", + " Day 1: r=0.2089 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 2 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=778\n", + "Day: Tue | days_elapsed=1\n", + "Energy: 1.00 | Followers: 10042\n", + "Engagement: 0.426 | Queue: 0\n", + "Signals: watch=0.021 sends=0.068 saves=0.128\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=228\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"top trends\",\n", + " \"tags\": [\"trending\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 11,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"travel tips\",\n", + " \"tags\": [\"travel\", \"tips\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 13,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day off\",\n", + " \"tags\": [\"vacation\", \"relax\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Created stories about top trending topics, travel tips, and a day off reel focusing on relaxation and vacation. The high engagement from these posts indicates strong alignment with the niche and potential follower growth.\"\n", + "}\n", + "============================================================\n", + " Day 2: r=0.2031 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 3 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1094\n", + "Day: Wed | days_elapsed=2\n", + "Energy: 1.00 | Followers: 10247\n", + "Engagement: 1.240 | Queue: 1\n", + "Signals: watch=1.027 sends=0.821 saves=0.205\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=280\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 1,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"best practices\",\n", + " \"tags\": [\"success\", \"tips\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 3,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"product launches\",\n", + " \"tags\": [\"launch\", \"exclusive\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 5,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"new album\",\n", + " \"tags\": [\"music\", \"album\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"quarterly report\",\n", + " \"tags\": [\"report\", \"analysis\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Created stories highlighting best practices and product launches as well as a quarter report post to promote new music releases. Posts aligned with interests show significant engagement, increasing the chance for future collaborations.\"\n", + "}\n", + "============================================================\n", + " Day 3: r=0.2283 e=1.00 posts=2 tools=0\n", + "\n", + ">>> Day 4 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1462\n", + "Day: Thu | days_elapsed=3\n", + "Energy: 1.00 | Followers: 10318\n", + "Engagement: 0.800 | Queue: 1\n", + "Signals: watch=0.050 sends=0.128 saves=0.202\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=287\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 2,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"latest tech advancements\",\n", + " \"tags\": [\"tech\", \"innovations\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 4,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"cooking tips\",\n", + " \"tags\": [\"cooking\", \"tips\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"work-from-home tips\",\n", + " \"tags\": [\"work-at-home\", \"tips\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 19,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"summer adventures\",\n", + " \"tags\": [\"adventures\", \"summer\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Created stories on latest technology developments and cooking tips; posted work-from-home tips and summer adventure reels to maximize engagement. Continued to align with niche interests for consistent growth.\"\n", + "}\n", + "============================================================\n", + " Day 4: r=0.2357 e=1.00 posts=2 tools=0\n", + "\n", + ">>> Day 5 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1837\n", + "Day: Fri | days_elapsed=4\n", + "Energy: 1.00 | Followers: 10509\n", + "Engagement: 0.853 | Queue: 1\n", + "Signals: watch=1.388 sends=0.517 saves=0.187\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=289\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 3,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"virtual reality experiences\",\n", + " \"tags\": [\"vr\", \"experiences\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 5,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"local events\",\n", + " \"tags\": [\"events\", \"local\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 7,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"holiday season\",\n", + " \"tags\": [\"holidays\", \"seasonal\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 16,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"self-care during lockdown\",\n", + " \"tags\": [\"self-care\", \"lockdown\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Created a VR experience reel, holiday-themed story, and self-care during lock-down reel. Added local event and seasonal stories to diversify content types for maximum engagement and potential future collaborations.\"\n", + "}\n", + "============================================================\n", + " Day 5: r=0.2101 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 6 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2214\n", + "Day: Sat | days_elapsed=5\n", + "Energy: 1.00 | Followers: 10520\n", + "Engagement: 0.748 | Queue: 3\n", + "Signals: watch=0.023 sends=0.075 saves=0.006\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=292\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"office productivity hacks\",\n", + " \"tags\": [\"hacks\", \"office\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 10,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"book recommendations\",\n", + " \"tags\": [\"books\", \"recommendations\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 12,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"personal development\",\n", + " \"tags\": [\"development\", \"life\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 14,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"mental health awareness\",\n", + " \"tags\": [\"awareness\", \"health\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Created office productivity hack reel, book recommendations reel, personal development story, and mental health awareness story. Diversified content types to increase relevance and appeal, aiming to boost engagement while staying relevant to current interests.\"\n", + "}\n", + "============================================================\n", + " Day 6: r=0.2128 e=1.00 posts=2 tools=0\n", + "\n", + ">>> Day 7 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2594\n", + "Day: Sun | days_elapsed=6\n", + "Energy: 1.00 | Followers: 10594\n", + "Engagement: 0.665 | Queue: 3\n", + "Signals: watch=0.350 sends=0.322 saves=0.071\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=275\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 2,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"remote learning resources\",\n", + " \"tags\": [\"resources\", \"learning\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 5,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"career advancement\",\n", + " \"tags\": [\"advancement\", \"career\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 7,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"environmental impact\",\n", + " \"tags\": [\"impact\", \"environment\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 11,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"green living\",\n", + " \"tags\": [\"living\", \"sustainable\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Created remote learning resource reel, career advancement story, and green living story to cater to diverse niches, maximizing engagement through varied content types.\"\n", + "}\n", + "============================================================\n", + " Day 7: r=0.2247 e=1.00 posts=2 tools=0\n", + " => grader=0.4808 reward=1.524\n", + "\n", + "============================================================\n", + "BEFORE TRAINING:\n", + " monthly_engage: grader=0.3048\n", + " monthly_strategic: grader=0.3456\n", + " monthly_competitive: grader=0.4808\n" + ] + } + ], + "source": [ + "# Cell 9: Run untrained model\n", + "print(\"Running UNTRAINED base model on all tasks...\")\n", + "print(\"=\" * 60)\n", + "\n", + "before_results = {}\n", + "for task in TASKS:\n", + " print(f\"\\n Task: {task}\")\n", + " result = run_llm_episode(model, tokenizer, task, seed=42, verbose=True)\n", + " before_results[task] = result\n", + " print(f\" => grader={result['grader_score']:.4f} reward={result['total_reward']:.3f}\")\n", + "\n", + "print(\"\\n\" + \"=\" * 60)\n", + "print(\"BEFORE TRAINING:\")\n", + "for t in TASKS:\n", + " print(f\" {t}: grader={before_results[t]['grader_score']:.4f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "85cbf989", + "metadata": { + "papermill": { + "duration": 0.005544, + "end_time": "2026-04-25T22:51:33.788042+00:00", + "exception": false, + "start_time": "2026-04-25T22:51:33.782498+00:00", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Part 4: LoRA Fine-Tuning (Real Weight Updates)\n", + "\n", + "This is the core training loop. For each round:\n", + "1. Collect episodes with current model\n", + "2. Score each (prompt, response) pair by episode reward\n", + "3. Keep top 50% highest-reward samples\n", + "4. Fine-tune LoRA weights via SFT on those samples\n", + "\n", + "The model's actual weights change via gradient descent — this is real training." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7ec70840", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:51:33.798941Z", + "iopub.status.busy": "2026-04-25T22:51:33.798756Z", + "iopub.status.idle": "2026-04-25T22:51:34.172901Z", + "shell.execute_reply": "2026-04-25T22:51:34.171989Z" + }, + "papermill": { + "duration": 0.380514, + "end_time": "2026-04-25T22:51:34.173548+00:00", + "exception": false, + "start_time": "2026-04-25T22:51:33.793034+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "trainable params: 18,464,768 || all params: 1,562,179,072 || trainable%: 1.1820\n" + ] + } + ], + "source": [ + "# Cell 10: Attach LoRA adapter\n", + "from peft import LoraConfig, get_peft_model, TaskType\n", + "\n", + "lora_config = LoraConfig(\n", + " r=16, lora_alpha=32, lora_dropout=0.05,\n", + " target_modules=[\"q_proj\", \"k_proj\", \"v_proj\", \"o_proj\",\n", + " \"gate_proj\", \"up_proj\", \"down_proj\"],\n", + " task_type=TaskType.CAUSAL_LM, bias=\"none\",\n", + ")\n", + "\n", + "model.enable_input_require_grads()\n", + "peft_model = get_peft_model(model, lora_config)\n", + "peft_model.print_trainable_parameters()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "77c279af", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:51:34.186355Z", + "iopub.status.busy": "2026-04-25T22:51:34.186156Z", + "iopub.status.idle": "2026-04-25T22:54:47.090532Z", + "shell.execute_reply": "2026-04-25T22:54:47.089375Z" + }, + "papermill": { + "duration": 192.911985, + "end_time": "2026-04-25T22:54:47.091289+00:00", + "exception": false, + "start_time": "2026-04-25T22:51:34.179304+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "============================================================\n", + "TRAINING ROUND 1/1\n", + "============================================================\n", + "\n", + ">>> Day 1 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=538\n", + "Day: Mon | days_elapsed=0\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 0\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=112\n", + "```json\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri\",\n", + " \"tags\": [\"#Mosseri\", \"#Tech\", \"#Engineering\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Started planning for engagement on Monday by creating a reel related to 'Mosseri'. Focuses on sending bait.\"\n", + "}\n", + "```\n", + "============================================================\n", + "\n", + ">>> Day 2 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=738\n", + "Day: Tue | days_elapsed=1\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 1\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=343\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Mosseri\",\n", + " \"tags\": [\"#Mosseri\", \"#Tech\", \"#Engineering\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's latest project\",\n", + " \"tags\": [\"#MosseriProject\", \"#Engineering\", \"#Innovation\"],\n", + " \"intent\": \"save_bait\"\n", + " }\n", + " ]\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 0,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Mosseri's daily update\",\n", + " \"tags\": [\"#MosseriUpdate\", \"#TechNews\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Top Mosseri projects\",\n", + " \"tags\": [\"#MosseriProjects\", \"#Innovation\", \"#Technology\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Continued engagement efforts on Tuesday with stories and reels focusing on different intents but all related to 'Mosseri' for maximum reach.\"\n", + "}\n", + "```\n", + "============================================================\n", + "\n", + ">>> Day 3 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1183\n", + "Day: Wed | days_elapsed=2\n", + "Energy: 1.00 | Followers: 10005\n", + "Engagement: 0.059 | Queue: 1\n", + "Signals: watch=0.018 sends=0.023 saves=0.003\n", + "Tool results:\n", + " predict_engagement: {\"predicted_daily_engagement\": 0.045}\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=343\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Latest Tech News\",\n", + " \"tags\": [\"#TechNews\", \"#Mosseri\", \"#Engineering\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's future projects\",\n", + " \"tags\": [\"#MosseriFuture\", \"#Innovation\", \"#Technology\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ]\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 0,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Mosseri's Latest Update\",\n", + " \"tags\": [\"#MosseriUpdate\", \"#Tech\", \"#Engineering\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"The Future of Technology in #Mosseri\",\n", + " \"tags\": [\"#MosseriFuture\", \"#Innovation\", \"#Technology\"],\n", + " \"intent\": \"save_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Projected engagement increases based on historical data. Continued focus on storytelling and innovation-related content targeting various intents.\"\n", + "}\n", + "```\n", + "============================================================\n", + "\n", + ">>> Day 4 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1628\n", + "Day: Thu | days_elapsed=3\n", + "Energy: 1.00 | Followers: 10010\n", + "Engagement: 0.059 | Queue: 1\n", + "Signals: watch=0.012 sends=0.037 saves=0.003\n", + "Tool results:\n", + " predict_engagement: {\"predicted_daily_engagement\": 0.045}\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=353\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Interview with #Mosseri Founder\",\n", + " \"tags\": [\"#InterviewWithMosseri\", \"#Leadership\", \"#Engineering\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's Journey Through Innovation\",\n", + " \"tags\": [\"#MosseriJourney\", \"#Innovation\", \"#Engineering\"],\n", + " \"intent\": \"save_bait\"\n", + " }\n", + " ]\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 0,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Mosseri's Impact on #TechIndustry\",\n", + " \"tags\": [\"#MosseriImpact\", \"#TechIndustry\", \"#Engineering\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's Role in #Innovation\",\n", + " \"tags\": [\"#MosseriRole\", \"#Innovation\", \"#Engineering\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Further optimization of strategies with more tailored content types targeting different intents as predicted by the model.\"\n", + "}\n", + "```\n", + "============================================================\n", + "\n", + ">>> Day 5 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2083\n", + "Day: Fri | days_elapsed=4\n", + "Energy: 1.00 | Followers: 10015\n", + "Engagement: 0.059 | Queue: 1\n", + "Signals: watch=0.018 sends=0.023 saves=0.003\n", + "Tool results:\n", + " predict_engagement: {\"predicted_daily_engagement\": 0.045}\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=364\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Mosseri's Vision for the #TechFuture\",\n", + " \"tags\": [\"#TechVision\", \"#Mosseri\", \"#Innovation\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's Innovations in #ArtificialIntelligence\",\n", + " \"tags\": [\"#AIInnovation\", \"#Mosseri\", \"#Engineering\"],\n", + " \"intent\": \"save_bait\"\n", + " }\n", + " ]\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 0,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Mosseri's Contribution to #Cybersecurity\",\n", + " \"tags\": [\"#Cybersecurity\", \"#Mosseri\", \"#Engineering\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's Leadership in #Sustainability\",\n", + " \"tags\": [\"#SustainabilityLeadership\", \"#Mosseri\", \"#Engineering\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Final adjustments made to maximize engagement through a combination of storytelling and educational content types tailored to each intended outcome.\"\n", + "}\n", + "```\n", + "============================================================\n", + "\n", + ">>> Day 6 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2549\n", + "Day: Sat | days_elapsed=5\n", + "Energy: 1.00 | Followers: 10019\n", + "Engagement: 0.056 | Queue: 1\n", + "Signals: watch=0.014 sends=0.019 saves=0.002\n", + "Tool results:\n", + " predict_engagement: {\"predicted_daily_engagement\": 0.045}\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=353\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Interview with #Mosseri's Team Members\",\n", + " \"tags\": [\"#TeamMembers\", \"#Mosseri\", \"#Innovation\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's Role in #Education\",\n", + " \"tags\": [\"#EducationalInnovation\", \"#Mosseri\", \"#Engineering\"],\n", + " \"intent\": \"save_bait\"\n", + " }\n", + " ]\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 0,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"The Importance of #WomenInSTEM\",\n", + " \"tags\": [\"#WomenInSTEM\", \"#Education\", \"#Mosseri\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's Work in #SocialMedia\",\n", + " \"tags\": [\"#SocialMediaWork\", \"#Mosseri\", \"#Innovation\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Final checks show continued engagement improvements with targeted stories and reels enhancing reach across various interests.\"\n", + "}\n", + "```\n", + "============================================================\n", + "\n", + ">>> Day 7 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[transformers] warmup_ratio is deprecated and will be removed in v5.2. Use `warmup_steps` instead.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=3004\n", + "Day: Sun | days_elapsed=6\n", + "Energy: 1.00 | Followers: 10024\n", + "Engagement: 0.056 | Queue: 1\n", + "Signals: watch=0.018 sends=0.023 saves=0.003\n", + "Tool results:\n", + " predict_engagement: {\"predicted_daily_engagement\": 0.045}\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=356\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"Interview with #Mosseri's Team Members\",\n", + " \"tags\": [\"#TeamMembers\", \"#Mosseri\", \"#Innovation\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's Role in #Cybersecurity\",\n", + " \"tags\": [\"#Cybersecurity\", \"#Mosseri\", \"#Engineering\"],\n", + " \"intent\": \"save_bait\"\n", + " }\n", + " ]\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 0,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"The Importance of #WomenInSTEM\",\n", + " \"tags\": [\"#WomenInSTEM\", \"#Education\", \"#Mosseri\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"Mosseri's Work in #SocialMedia\",\n", + " \"tags\": [\"#SocialMediaWork\", \"#Mosseri\", \"#Innovation\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Final adjustments have been made to optimize engagement further with high-intent content types throughout the week.\"\n", + "}\n", + "```\n", + "============================================================\n", + " ep 1/1: engage grader=0.0268 reward=1.593 return[min=0.36 max=1.41 mean=0.94]\n", + " Avg reward=1.593 Avg grader=0.0268\n", + " Filtered to 4/7 samples (return >= 0.968)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6e2e90c8df324fcb8ceb6b633d1ceb65", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Adding EOS to train dataset: 0%| | 0/4 [00:00\n", + " \n", + " \n", + " [7/7 00:03, Epoch 7/7]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StepTraining Loss
12.368976
22.368976
32.356734
42.335494
52.314747
62.294741
72.279922

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Training loss: 2.3314\n", + "\n", + "Training complete in 3.2 min\n", + " round avg_episode_reward max_episode_reward min_episode_reward avg_grader max_grader n_training_samples train_loss\n", + " 1 1.593 1.593 1.593 0.0268 0.0268 4 2.3314\n" + ] + } + ], + "source": [ + "# Cell 11: Training loop\n", + "from trl import SFTTrainer, SFTConfig\n", + "from datasets import Dataset\n", + "\n", + "NUM_ROUNDS = 1\n", + "EPISODES_PER_ROUND = 1\n", + "TOP_K_FRACTION = 0.5\n", + "\n", + "training_log = {\n", + " \"round\": [], \"avg_episode_reward\": [], \"max_episode_reward\": [],\n", + " \"min_episode_reward\": [], \"avg_grader\": [], \"max_grader\": [],\n", + " \"n_training_samples\": [], \"train_loss\": [],\n", + "}\n", + "\n", + "t_start = time.time()\n", + "\n", + "for round_idx in range(1, NUM_ROUNDS + 1):\n", + " print(f\"\\n{'=' * 60}\")\n", + " print(f\"TRAINING ROUND {round_idx}/{NUM_ROUNDS}\")\n", + " print(f\"{'=' * 60}\")\n", + "\n", + " # Collect episodes\n", + " peft_model.eval()\n", + " all_pairs, episode_rewards, episode_graders = [], [], []\n", + "\n", + " for ep in range(EPISODES_PER_ROUND):\n", + " task = TASKS[ep % len(TASKS)]\n", + " seed = 42 + (round_idx - 1) * 100 + ep\n", + " result = run_llm_episode(peft_model, tokenizer, task, seed=seed)\n", + " ep_reward = result[\"total_reward\"] + 2.0 * result[\"grader_score\"]\n", + " episode_rewards.append(ep_reward)\n", + " episode_graders.append(result[\"grader_score\"])\n", + "\n", + " for pr in result[\"pairs\"]:\n", + " text = (f\"<|im_start|>system\\n{SYSTEM_PROMPT}<|im_end|>\\n\"\n", + " f\"<|im_start|>user\\n{pr['prompt']}<|im_end|>\\n\"\n", + " f\"<|im_start|>assistant\\n{pr['response']}<|im_end|>\")\n", + " all_pairs.append({\"text\": text, \"reward\": pr[\"return\"]})\n", + "\n", + " rets = result[\"returns\"]\n", + " print(f\" ep {ep+1}/{EPISODES_PER_ROUND}: {task.split('_')[-1]:>11s} \"\n", + " f\"grader={result['grader_score']:.4f} reward={ep_reward:.3f} \"\n", + " f\"return[min={min(rets):.2f} max={max(rets):.2f} mean={np.mean(rets):.2f}]\")\n", + "\n", + " avg_r = np.mean(episode_rewards)\n", + " avg_g = np.mean(episode_graders)\n", + " print(f\" Avg reward={avg_r:.3f} Avg grader={avg_g:.4f}\")\n", + "\n", + " # Filter to top-K by per-pair return (per-step credit assignment)\n", + " threshold = np.percentile([p[\"reward\"] for p in all_pairs], (1 - TOP_K_FRACTION) * 100)\n", + " filtered = [p for p in all_pairs if p[\"reward\"] >= threshold] or all_pairs\n", + " print(f\" Filtered to {len(filtered)}/{len(all_pairs)} samples (return >= {threshold:.3f})\")\n", + "\n", + " dataset = Dataset.from_list([{\"text\": p[\"text\"]} for p in filtered])\n", + "\n", + " # SFT training (real gradient updates)\n", + " sft_config = SFTConfig(\n", + " output_dir=f\"./checkpoints/round_{round_idx}\",\n", + " max_steps=7,\n", + " per_device_train_batch_size=32,\n", + " gradient_accumulation_steps=1,\n", + " learning_rate=2e-5,\n", + " warmup_ratio=0.1,\n", + " logging_steps=1,\n", + " save_strategy=\"no\",\n", + " max_length=1024,\n", + " bf16=True,\n", + " gradient_checkpointing=False,\n", + " dataloader_num_workers=4,\n", + " dataloader_pin_memory=True,\n", + " optim=\"adamw_torch_fused\",\n", + " report_to=\"none\",\n", + " )\n", + "\n", + " peft_model.train()\n", + " trainer = SFTTrainer(\n", + " model=peft_model, processing_class=tokenizer,\n", + " train_dataset=dataset, args=sft_config,\n", + " )\n", + " train_result = trainer.train()\n", + " loss = train_result.training_loss\n", + " print(f\" Training loss: {loss:.4f}\")\n", + "\n", + " training_log[\"round\"].append(round_idx)\n", + " training_log[\"avg_episode_reward\"].append(round(float(avg_r), 3))\n", + " training_log[\"max_episode_reward\"].append(round(float(max(episode_rewards)), 3))\n", + " training_log[\"min_episode_reward\"].append(round(float(min(episode_rewards)), 3))\n", + " training_log[\"avg_grader\"].append(round(float(avg_g), 4))\n", + " training_log[\"max_grader\"].append(round(float(max(episode_graders)), 4))\n", + " training_log[\"n_training_samples\"].append(len(filtered))\n", + " training_log[\"train_loss\"].append(round(loss, 4))\n", + "\n", + "elapsed = time.time() - t_start\n", + "print(f\"\\nTraining complete in {elapsed/60:.1f} min\")\n", + "print(pd.DataFrame(training_log).to_string(index=False))" + ] + }, + { + "cell_type": "markdown", + "id": "0b2d1f32", + "metadata": { + "papermill": { + "duration": 0.005971, + "end_time": "2026-04-25T22:54:47.103776+00:00", + "exception": false, + "start_time": "2026-04-25T22:54:47.097805+00:00", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Part 5: Trained LLM Evaluation (“After”)\n", + "\n", + "Same model, same seeds, same environment — but now with updated LoRA weights." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "8d7a70c2", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T22:54:47.116891Z", + "iopub.status.busy": "2026-04-25T22:54:47.116625Z", + "iopub.status.idle": "2026-04-25T23:01:26.537356Z", + "shell.execute_reply": "2026-04-25T23:01:26.536404Z" + }, + "papermill": { + "duration": 399.428137, + "end_time": "2026-04-25T23:01:26.538012+00:00", + "exception": false, + "start_time": "2026-04-25T22:54:47.109875+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running TRAINED model on all tasks...\n", + "============================================================\n", + "\n", + " Task: monthly_engage\n", + "\n", + ">>> Day 1 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=538\n", + "Day: Mon | days_elapsed=0\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 0\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=153\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"work_outside\",\n", + " \"tags\": [\"exercise\", \"outdoors\", \"motivation\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Start building content and engagement plans.\"\n", + "}\n", + "============================================================\n", + " Day 1: r=0.1813 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 2 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=779\n", + "Day: Tue | days_elapsed=1\n", + "Energy: 1.00 | Followers: 10020\n", + "Engagement: 0.205 | Queue: 0\n", + "Signals: watch=0.041 sends=0.082 saves=0.010\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=281\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"draft_review\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Review predictions and drafts before executing.\"\n", + "}\n", + "============================================================\n", + " Day 2: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 3 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1148\n", + "Day: Wed | days_elapsed=2\n", + "Energy: 1.00 | Followers: 10020\n", + "Engagement: 0.205 | Queue: 0\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=250\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"work_outside\",\n", + " \"tags\": [\"exercise\", \"outdoors\", \"motivation\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Execute predictions and reviews on daily basis.\"\n", + "}\n", + "============================================================\n", + " Day 3: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 4 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1486\n", + "Day: Thu | days_elapsed=3\n", + "Energy: 1.00 | Followers: 10020\n", + "Engagement: 0.205 | Queue: 0\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=287\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"work_outside\",\n", + " \"tags\": [\"exercise\", \"outdoors\", \"motivation\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"inspiration\"\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Analyze tag history for inspiration to enhance future content choices.\"\n", + "}\n", + "============================================================\n", + " Day 4: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 5 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1860\n", + "Day: Fri | days_elapsed=4\n", + "Energy: 1.00 | Followers: 9678\n", + "Engagement: 0.205 | Queue: 0\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=284\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"work_outside\",\n", + " \"tags\": [\"exercise\", \"outdoors\", \"motivation\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"inspiration\"\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Use predicted engagement data to refine content choices.\"\n", + "}\n", + "============================================================\n", + " Day 5: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 6 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2231\n", + "Day: Sat | days_elapsed=5\n", + "Energy: 1.00 | Followers: 8592\n", + "Engagement: 0.205 | Queue: 0\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=288\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"work_outside\",\n", + " \"tags\": [\"exercise\", \"outdoors\", \"motivation\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"inspiration\"\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Continuously monitor and optimize based on evolving trends and user feedback.\"\n", + "}\n", + "============================================================\n", + " Day 6: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 7 | task=monthly_engage | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2606\n", + "Day: Sun | days_elapsed=6\n", + "Energy: 1.00 | Followers: 7630\n", + "Engagement: 0.205 | Queue: 0\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=289\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"work_outside\",\n", + " \"tags\": [\"exercise\", \"outdoors\", \"motivation\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"inspiration\"\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"day_in_the_life\",\n", + " \"tags\": [\"daily\", \"morning\", \"inspiration\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Continue to refine your content strategies based on historical data and current trends.\"\n", + "}\n", + "============================================================\n", + " Day 7: r=0.1500 e=1.00 posts=0 tools=0\n", + " => grader=0.0162 reward=1.081\n", + "\n", + " Task: monthly_strategic\n", + "\n", + ">>> Day 1 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=538\n", + "Day: Mon | days_elapsed=0\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 0\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=100\n", + "```json\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Monday Motivation\",\n", + " \"tags\": [\"monday\", \"motivation\", \"start\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Started the week by sharing Monday motivation and encouraging engagement.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 1: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 2 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=725\n", + "Day: Tue | days_elapsed=1\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 1\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=296\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Mon Motivation\",\n", + " \"tags\": [\"monday\", \"motivation\", \"start\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"draft_review\",\n", + " \"arguments\": [\n", + " {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Mon Motivation\",\n", + " \"tags\": [\"monday\", \"motivation\", \"start\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 7,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Mon Motivation\",\n", + " \"tags\": [\"monday\", \"motivation\", \"start\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Reviewed and drafted the first post for the week. Sent it out on Tuesday morning to maximize engagement.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 2: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 3 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1109\n", + "Day: Wed | days_elapsed=2\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 1\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=247\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"monday\"\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_audience\",\n", + " \"arguments\": [\n", + " {\n", + " \"segment_id\": \"1\",\n", + " \"window_days\": 7\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Motivation Monday\",\n", + " \"tags\": [\"monday\", \"workout\", \"goals\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 14,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Workout Motivation\",\n", + " \"tags\": [\"monday\", \"workout\", \"goals\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Reviewed audience preferences and crafted motivational posts for the upcoming weeks. Distributed them throughout the week to ensure consistent engagement.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 3: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 4 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1443\n", + "Day: Thu | days_elapsed=3\n", + "Energy: 1.00 | Followers: 9950\n", + "Engagement: 0.000 | Queue: 1\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=279\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"monday\"\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"workout\"\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_audience\",\n", + " \"arguments\": [\n", + " {\n", + " \"segment_id\": \"2\",\n", + " \"window_days\": 7\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 9,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Motivation Monday\",\n", + " \"tags\": [\"monday\", \"workout\", \"goals\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 15,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Workout Tips\",\n", + " \"tags\": [\"monday\", \"workout\", \"tips\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Reviewed audience preferences again and created more specific motivational and workout-related posts. Ensured consistency across different segments and audiences.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 4: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 5 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1809\n", + "Day: Fri | days_elapsed=4\n", + "Energy: 1.00 | Followers: 8833\n", + "Engagement: 0.000 | Queue: 1\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=279\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"monday\"\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"workout\"\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"friday\"\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 10,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Weekend Motivation\",\n", + " \"tags\": [\"weekend\", \"motivation\", \"fun\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 16,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Weekly Workout Recap\",\n", + " \"tags\": [\"weekend\", \"workout\", \"goals\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Reviewed all relevant tags and found that 'friday' was very popular among our audience. Created weekend-themed motivational and recap posts specifically tailored to Fridays.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 5: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 6 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2175\n", + "Day: Sat | days_elapsed=5\n", + "Energy: 1.00 | Followers: 7843\n", + "Engagement: 0.000 | Queue: 1\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=241\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"weekend\"\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"friday\"\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 11,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Weekend Fun\",\n", + " \"tags\": [\"weekend\", \"motivation\", \"activities\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 17,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Friday Fitness Goals\",\n", + " \"tags\": [\"friday\", \"fitness\", \"goals\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Continued reviewing and creating posts based on popular weekends and Friday themes. Ensured variety within each theme to keep the audience engaged.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 6: r=0.1500 e=1.00 posts=0 tools=0\n", + "\n", + ">>> Day 7 | task=monthly_strategic | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2503\n", + "Day: Sun | days_elapsed=6\n", + "Energy: 1.00 | Followers: 6965\n", + "Engagement: 0.000 | Queue: 1\n", + "Signals: watch=0.000 sends=0.000 saves=0.000\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=345\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"weekend\"\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"friday\"\n", + " }\n", + " ]\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": [\n", + " {\n", + " \"tag\": \"sunrise\"\n", + " }\n", + " ]\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 12,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Endless Weekend Activities\",\n", + " \"tags\": [\"weekend\", \"motivation\", \"activities\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 18,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Friday Morning Routine\",\n", + " \"tags\": [\"friday\", \"morning\", \"routine\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 22,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"Sunrise Routine\",\n", + " \"tags\": [\"sunrise\", \"morning\", \"routines\"],\n", + " \"intent\": \"send_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Reviewed all popular weekend and Friday themes. Created multiple posts related to end-of-week activities, morning routines, and sunrise routines to cater to various interests and time slots.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 7: r=0.1500 e=1.00 posts=0 tools=0\n", + " => grader=0.1749 reward=1.050\n", + "\n", + " Task: monthly_competitive\n", + "\n", + ">>> Day 1 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=538\n", + "Day: Mon | days_elapsed=0\n", + "Energy: 1.00 | Followers: 10000\n", + "Engagement: 0.000 | Queue: 0\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=90\n", + "```json\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"daily routine\",\n", + " \"tags\": [\"morning\", \"routine\"],\n", + " \"intent\": \"like_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Started with a focus on engaging early mornings.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 1: r=0.2131 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 2 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=716\n", + "Day: Tue | days_elapsed=1\n", + "Energy: 1.00 | Followers: 10009\n", + "Engagement: 0.098 | Queue: 0\n", + "Signals: watch=0.020 sends=0.039 saves=0.005\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=149\n", + "```json\n", + "{\n", + " \"tool_calls\": [],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 7,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"new recipe\",\n", + " \"tags\": [\"food\", \"recipes\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"workout tips\",\n", + " \"tags\": [\"fitness\", \"exercise\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Increased engagement through new content types and optimized bait strategies.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 2: r=0.2151 e=1.00 posts=1 tools=0\n", + "\n", + ">>> Day 3 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=953\n", + "Day: Wed | days_elapsed=2\n", + "Energy: 1.00 | Followers: 10049\n", + "Engagement: 0.254 | Queue: 1\n", + "Signals: watch=0.020 sends=0.066 saves=0.123\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=291\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"predict_engagement\",\n", + " \"arguments\": {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 7,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"text_post\",\n", + " \"topic\": \"new recipe\",\n", + " \"tags\": [\"food\", \"recipes\"],\n", + " \"intent\": \"send_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"workout tips\",\n", + " \"tags\": [\"fitness\", \"exercise\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ]\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"story\",\n", + " \"topic\": \"daily routine\",\n", + " \"tags\": [\"morning\", \"routine\"],\n", + " \"intent\": \"like_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"workout tips\",\n", + " \"tags\": [\"fitness\", \"exercise\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Optimized post creation schedule based on predicted engagement levels.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 3: r=0.2130 e=1.00 posts=1 tools=1\n", + "\n", + ">>> Day 4 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1347\n", + "Day: Thu | days_elapsed=3\n", + "Energy: 1.00 | Followers: 10057\n", + "Engagement: 0.198 | Queue: 1\n", + "Signals: watch=0.017 sends=0.034 saves=0.004\n", + "Tool results:\n", + " predict_engagement: {\"predicted_daily_engagement\": 0.1229}\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=215\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": {\n", + " \"tag\": \"daily_routine\"\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"query_tag_history\",\n", + " \"arguments\": {\n", + " \"tag\": \"fitness_exercise\"\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"tips for morning routines\",\n", + " \"tags\": [\"morning\", \"routines\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"best workout routines\",\n", + " \"tags\": [\"fitness\", \"exercises\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Improved daily routines and workout content resonated well among users.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 4: r=0.2167 e=1.00 posts=1 tools=2\n", + "\n", + ">>> Day 5 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=1696\n", + "Day: Fri | days_elapsed=4\n", + "Energy: 1.00 | Followers: 10123\n", + "Engagement: 0.316 | Queue: 1\n", + "Signals: watch=0.502 sends=0.167 saves=0.067\n", + "Tool results:\n", + " query_tag_history: {\"tag\": \"daily_routine\", \"uses\": 0, \"avg_signals\": {}}\n", + " query_tag_history: {\"tag\": \"fitness_exercise\", \"uses\": 0, \"avg_signals\": {}}\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=298\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"draft_review\",\n", + " \"arguments\": {\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"tips for morning routines\",\n", + " \"tags\": [\"morning\", \"routines\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"best workout routines\",\n", + " \"tags\": [\"fitness\", \"exercises\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ]\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"tips for morning routines\",\n", + " \"tags\": [\"morning\", \"routines\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"best workout routines\",\n", + " \"tags\": [\"fitness\", \"exercises\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Reviewing drafted content improved targeting and engagement.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 5: r=0.2173 e=1.00 posts=1 tools=1\n", + "\n", + ">>> Day 6 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2100\n", + "Day: Sat | days_elapsed=5\n", + "Energy: 1.00 | Followers: 10199\n", + "Engagement: 0.405 | Queue: 1\n", + "Signals: watch=0.570 sends=0.190 saves=0.076\n", + "Tool results:\n", + " draft_review: {\"feedback\": [\"Good posting frequency for today.\"], \"post_count\": 1}\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=173\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"schedule_next_day\",\n", + " \"arguments\": {}\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"tips for morning routines\",\n", + " \"tags\": [\"morning\", \"routines\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"best workout routines\",\n", + " \"tags\": [\"fitness\", \"exercises\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Scheduled next post and content creation for continued growth.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 6: r=0.2155 e=1.00 posts=1 tools=1\n", + "\n", + ">>> Day 7 | task=monthly_competitive | energy=1.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "[LLM PROMPT] tokens=2361\n", + "Day: Sun | days_elapsed=6\n", + "Energy: 1.00 | Followers: 10247\n", + "Engagement: 0.418 | Queue: 1\n", + "Signals: watch=0.365 sends=0.122 saves=0.049\n", + "Tool results:\n", + " (none)\n", + "Plan your actions (JSON only):\n", + "------------------------------------------------------------\n", + "[LLM RESPONSE] tokens=203\n", + "```json\n", + "{\n", + " \"tool_calls\": [\n", + " {\n", + " \"name\": \"propose_collab\",\n", + " \"arguments\": {\n", + " \"partner_id\": 12345,\n", + " \"content_type\": \"reel\",\n", + " \"hour\": 6\n", + " }\n", + " }\n", + " ],\n", + " \"scheduled_actions\": [\n", + " {\n", + " \"hour\": 6,\n", + " \"action_type\": \"post\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"tips for morning routines\",\n", + " \"tags\": [\"morning\", \"routines\"],\n", + " \"intent\": \"watch_bait\"\n", + " },\n", + " {\n", + " \"hour\": 8,\n", + " \"action_type\": \"create_content\",\n", + " \"content_type\": \"reel\",\n", + " \"topic\": \"best workout routines\",\n", + " \"tags\": [\"fitness\", \"exercises\"],\n", + " \"intent\": \"watch_bait\"\n", + " }\n", + " ],\n", + " \"notes\": \"Proposed collaboration opportunity to reach broader audience.\"\n", + "}\n", + "```\n", + "============================================================\n", + " Day 7: r=0.2163 e=1.00 posts=1 tools=1\n", + " => grader=0.3621 reward=1.507\n", + "\n", + "============================================================\n", + "AFTER TRAINING:\n", + " monthly_engage: grader=0.0162\n", + " monthly_strategic: grader=0.1749\n", + " monthly_competitive: grader=0.3621\n" + ] + } + ], + "source": [ + "# Cell 12: Run trained model\n", + "print(\"Running TRAINED model on all tasks...\")\n", + "print(\"=\" * 60)\n", + "\n", + "peft_model.eval()\n", + "after_results = {}\n", + "for task in TASKS:\n", + " print(f\"\\n Task: {task}\")\n", + " result = run_llm_episode(peft_model, tokenizer, task, seed=42, verbose=True)\n", + " after_results[task] = result\n", + " print(f\" => grader={result['grader_score']:.4f} reward={result['total_reward']:.3f}\")\n", + "\n", + "print(\"\\n\" + \"=\" * 60)\n", + "print(\"AFTER TRAINING:\")\n", + "for t in TASKS:\n", + " print(f\" {t}: grader={after_results[t]['grader_score']:.4f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "e3e9a4ab", + "metadata": { + "papermill": { + "duration": 0.007082, + "end_time": "2026-04-25T23:01:26.553021+00:00", + "exception": false, + "start_time": "2026-04-25T23:01:26.545939+00:00", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Part 6: Result Plots — Real Training Evidence" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "eceb46eb", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T23:01:26.568471Z", + "iopub.status.busy": "2026-04-25T23:01:26.568240Z", + "iopub.status.idle": "2026-04-25T23:01:26.905154Z", + "shell.execute_reply": "2026-04-25T23:01:26.904198Z" + }, + "papermill": { + "duration": 0.345619, + "end_time": "2026-04-25T23:01:26.905758+00:00", + "exception": false, + "start_time": "2026-04-25T23:01:26.560139+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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hre3t1G5cmVj8ODBqf7Zaxjpf76uX79uTJ482WbZe++9l+Z28+fPn+b7HQCA+4npEQAA2aZWrVoqX7689u7dK+nmVAi9evUyl6ecGsHf3z/dy8ZvZ926dcqfP786dOigfPny6d9//5Ukubi4qHz58goODlZAQIBy586tuLg4bdu2Tb/88osMw9DUqVP16quvKjg4+LbbGD16tA4fPqxJkyaZZSkv40yeV3PDhg3q3bu3eWObxx9/XM2bN1dMTIymT5+uCxcuaM+ePQoPD9dvv/0m6eZltefPn5ck5cmTR926dVO+fPl0+vRp7du3T+vWrTO3mXzZe8pL3du3b68aNWpIkvz8/G67Hz4+PnruuefM4z579mx17NjRXD579mzzeYcOHeTl5XXb9vbt22fz+k7H0Rm8/vrrWrt2rfm6WbNmql27tv7++29zjub169fr9ddf13fffXfbtuLi4rRhwwatXLnSLGvXrl2adWfOnGlONZEjRw61adNGly9fNm9etmTJEl28eFH58uW7p/2zx/34TN3qyJEj8vT0VM+ePeXl5aWJEyfq+vXrkqRPP/1UL774Yob3Y/369apZs6ZCQkK0evVq/fXXX5JuXva+cOFC85L4n3/+WT/++KO5XqlSpdShQwedOHFCs2bNyvB27yQ+Pt68fFu62d9p9Wvy3JxNmzZV3bp1df78eRUsWFCJiYlq1aqVTp48KUlydXVV586dVbRoUS1cuNC8cd2XX36pxx57TOHh4ebrlN8nlStX1rPPPqsdO3bYfTPB9GJKSkpSq1atzJtRFShQQM8//7zy5s2rFStWaMOGDYqPj1d4eLiqV6+uUqVK6erVqzY3mGrTpo0ee+wxRUVF6fjx4/rzzz9ttj19+nRdu3ZNklS0aFG98MIL8vb21smTJ7V79279/fffdu2DJJvjkNal9ymXS1Lbtm3TbCcoKEiVK1c2p7vYuHGjkpKS5OrqqieeeML8/KZsL+Xz8+fPa+/evSpfvrxN+aOPPip/f39Jd/d35VabNm1S0aJF1alTJ/3333/md318fLy+/PJLm79t2Sn5/RMfH6+dO3dq586dmjZtmtasWaOyZcumu17JkiXTLM+fP7+6d++e5rIaNWpo+fLlkm72SVbeqBIAgHRld9YYAPBw++STT2xGvezfv98wDMM4f/68zcifN99802Y9e0fa+vr6GsePH093+8ePHzd+/vlnY/z48cZnn31mjB492ihSpIi5/ogRI8y6txsVeLtlyVq1amUub9SokZGUlGQu27Rpk836O3bsMAzDMMaOHWuWpXUZ59WrV43IyMh099/ekX/J1qxZY66bI0cO4+LFi4ZhGMaZM2dsRnr+888/t20nJibGqFmzplk/KCjIvMTbkWRkpO2FCxdsjkG7du1slrdr185c5urqajMCLGWfpPWwWCzGCy+8kO5luBUqVDDrhoaGGoZx871rsVjM8q+++uquj0PKWO400vZ+faZuHWW5cOFCc9kXX3xhsyw6OtpcZu9I2+DgYOPGjRuGYdwcZerv728uSzmVR8rL4HPlymWcO3fOXHbriL67HWk7ePBgY/To0cZ7771nMwJTkvHss8+mu17fvn1Ttb1gwQKbOl9//bW57Nq1azbv+SpVqpjLypUrZzOiMeVI+lv7Ir2RtunFtGjRIpvPRsrpBhITE41KlSql+q6/dOmSzXsuPj7epk2r1WocOXLEfP3666+b9UeNGpUqhkuXLhmXLl1KozdSCw8PN9vq0aNHquW3/t1K+d681bPPPmtTN/n9s2TJEpv9S0pKMv777z+zLF++fIYk45tvvjEMwzDCwsLMZX369DHbv5u/K4Zh+93n7e1tjua+dVuPPfaYXcfsVpk50rZw4cJG586djWHDhhn9+/dPNT1MzZo1bda59T2Z1sPLy8v4/fff093uSy+9dNvvRAAA7gdG2gIAslXnzp01ePBgcxThzJkz9cEHH+jHH39UQkKCWa9bt2531X54eLiKFSuWqvzixYvq0qWLli5detv1k0erZYbkkXyStGbNGrm6uqZbd8OGDapcubLq1q0ri8UiwzD0zTffaPPmzapQoYLKlSunGjVq6IknnlDBggUzLcYGDRqodOnSOnz4sBISEjRv3jz16NHD5qZijz766G1HSkZGRqply5bavHmzJKlw4cL65Zdf5OHhYVcMc+bM0X///XdP+1GxYsW7ulHd7WzatMk8BpLUpUsXm+VdunTR3LlzJUlJSUnatGmTnnrqKbvarl69uoYNGyZPT880t7tnzx7zdfII0GLFiql27drasGGDJGnq1Knq06dPxnbqLmTHZ6pw4cJ69tlnzdflypWzWX758uUM3+zqpZdeUo4cOSTdHM1asmRJnTt3zmwv2ZYtW8znTz31lAoUKGC+7tatm4YPH56h7ablo48+SrO8RIkS+uqrr9Jdb8iQIanKNm7caPM6eSStJHl5ealdu3YaPXq0JGnnzp26du2arFar9u/fb9Zr27atzUj6bt26afr06XbtS1oxpfzuS0pK0iOPPJLu+snv5zx58ujRRx/Vv//+q+joaJUsWVI1a9ZU2bJlValSJTVp0sRmBGX9+vXNYzVkyBAtXrxYQUFBKleunGrVqqX69evf9js3peSrGyQpb968d6x/p6sOUkr+DkmOJykpSdHR0dq5c6d51UlgYKBCQkL07bffat26dXr55Ze1fv16s40nnnjCfH43f1du9eyzz6pw4cLm65Sfr5SfhewwefJklSlTxuYGbh999JGefPJJc7T15s2btXv3bvOqllulvBHZmjVrtGrVKl2/fl2hoaFasmRJmjfITDm6PeX7AQCA+4mkLQAgWxUqVEjNmjXTr7/+Kkn6/vvvNWLECJupER577DFVqlTprtoPCgpKs7x79+53TC5JNy/DzCyXLl2yu27yj8Tg4GCNHTtWQ4cO1dWrVxUREWFz6XT+/Pn1008/ZdqlmxaLRV27dtXQoUMl3ZwSoUePHjZTI9wugb5r1y61aNFCJ06ckCSVLl1aK1asUOnSpe2OYeLEiakufc6oLl26ZHrS9tb+uzVZfuvr9JIdNWrUULt27XTgwAHNmDFDN27c0JYtW9SgQQNt3749VTtTp041n3t5edkkLzt27GgmubZt26Zdu3bd9WfFXtnxmSpRooTN61v/AZB8aXhmtZmyvStXrpjPAwICbNa59fW9slgs8vHx0SOPPKKWLVvqjTfekK+vb5p18+fPn+a0CSnfp7ly5ZK3t7fN8pTvL8MwdOXKlVTH7273056Y7iRlgix5ipY9e/bo9OnTWrRokbnMxcVFb7zxhsaOHStJeu6559S/f3+NGzdO8fHx2rhxo00Cu3jx4lq6dKkeffRRu2NJz63HI/n7Li3Hjx83n3t4eCh//vySJF9fX9WoUUP//POPpJuX4CcnbevVq6d69erp22+/1dq1a7V3715duHDB3O+U3/d3e2xTsvezkB3SSvDnyJFDPXv2tPk7sXfv3nSTtj169DD3cciQIXriiSe0Zs0axcfH6/XXX7f5p1gywzAyZwcAALgHJG0BANmua9euZtL22LFj+t///meO0kxefrduTVhIUmxsrJYsWWK+btKkiSZPnqzixYvL1dVVwcHBNtvPLHnz5jVH8tWrV88m+XarOnXqmM/79u2rl19+WX///bf+/fdfHTx4UMuXL9fBgwd14cIFdenSxSYxcK+6dOmi9957T1arVWvXrtX69evNxIKbm5teeOGFNNdbvny52rVrp5iYGEk351ZcvHixzchEZ3briLuzZ8/e9nXynMa3evTRR815h5s0aWLOGxwZGanBgwdrypQpZt34+Hib+VSvX7+ebhJPupngTU5iZZXs+Ewlj4hNZrFY7rqtjLaZO3duXbx4UZLMz2+yyMjIe45Dko4ePZoqcXYnafWDZPs+vXr1qmJjY23qpnyfWiwW5c6d22YEuXT3+2lPTJ6envrggw/SbSPl3NuVK1fWv//+q127dikiIkIHDx5URESEfv31V1mtVn3++ed65plnzJGno0eP1pAhQ7Rhwwbt27dPBw4c0OLFi3X69GkdP35cr732ml3/EEpOrEpp//Olfv36Nq+XLl2ql156KVW9/fv3a+fOnebr2rVry83t/35+PfHEE2kmbevXr29u48SJEzZz+1apUsXmu+Vu/66klBWfr/stIzHXrFlTa9askXQz2XvlyhXlzp3bpk7KZPiD8jcMAOB8SNoCALLds88+qzx58pg/jt98801zmbu7u55//vlM3V5UVJRNkiI0NFSlSpWSlPpHtr1u/dGbfEOclOrUqaOFCxdKupkEefnll1Ml4K5fv66ffvrJ/HF9+vRpubq6qmDBgmrcuLEaN24s6eaoyscee0zSzR/1KW9C5ebmpsTExHTjuJPAwEA1bdpUv/32m6xWq83l1aGhoWlOx/D111/r9ddfN49rmzZtNHPmzAxdNpws+ce0owkODjYvZ5Zu3vgo5c3xUl4+npyovJMOHTpo0qRJZiJp+vTpevfdd83348KFC21Get7JrFmz9Omnn9okhu6HrPhMOYoaNWqYN5lbsWKFLl++bCbNUo6CdhS3JuZmzJihnj17Srr5/ZI8hYd0MwGYM2dOSTcviU+eImH+/PkaMWKE3N3dJd37fqaMKS4uTo8++miaU4f8888/NqM8t2/frqpVq6pSpUo2I8irVKlivqciIiL0xBNP6OjRo8qTJ49y586tp556ymy/WbNmat26tVnXHsnvXUlpTtVSsmRJNW3aVL///rskadGiRVq4cKHC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pHHjxql69erKlSuXPD09VaRIEdWpU0d9+vTRvn37sjvETBUdHa2PPvpIwcHByp07tzw8PBQYGKgOHTpo7dq12R2eXUqUKGH+QEh+eHp6qkyZMurZs6dOnTqV3SECAADYJa3zmvQea9asye5wHVbKgSD8AxxAdnPL7gAAOJcDBw7o2WefTZWEPHfunM6dO6ft27frm2++UUxMjHLlypVNUd5/L730kqZNm2ZTdvr0aZ0+fVobN25UrVq1FBQUlD3BZbI9e/boqaee0okTJ2zKT548qTlz5mjOnDnq37+/Ro8enU0R3r34+HgdPnxYhw8f1rJly7R79275+Phkd1gAAAAOady4cYqKipIkFSpU6K7aePrpp7Vu3TpJUrFixTItNgBwdiRtAdjtypUrCgkJMS99ypcvn15//XXVqlVLLi4uOnDggJYuXaoVK1bY1V5sbKy8vb2zMOLMc7tYDx48aCZs8+fPr5EjR6ps2bI6e/as9u3bpwULFtzHSFPLzON89epVtWjRwkzYVqxYUQMHDlTBggW1YsUKff7550pKStJnn32mUqVKqWfPnpmy3buRkf3+6quvVLlyZe3cuVNvvfWWEhISdOLECS1atEgvvPBCFkcKAABwb37++WfFxcWZr9u2bavIyEhJN89zqlWrZi6rVKlSmm3czTljem1lhL+/v/z9/e+5HQB40DA9AgC7ffbZZzYJ282bN2vYsGEKCQnRk08+qV69emnZsmXatWuXPDw8zPVSXq514sQJtWnTRn5+fqpYsaIkae3atWrbtq3Kli2r3Llzy93dXYULF1a7du20c+fOVHFs375djRo1kpeXl4oWLarhw4crMTEx3bjPnz+vfv36qWzZsvLw8FCePHkUGhqqv//+26berfPizp8/X1WrVpWHh8dtR41GRESYz8PDw/XKK6+ocePG6tixo4YPH66dO3eqdevWqdb74Ycf9MQTTyhPnjzy8PBQiRIl1LlzZ3O0giTduHFDn3zyiapWrSpvb2/lzJlTVapU0ccff6wbN27YtHen45yRY5GeyZMn6+jRo5KkvHnzau3aterUqZOaNm2q0aNHa+jQoWbd999/X3FxcYqIiDDjevbZZ23aO3XqlFxcXGSxWBQcHGyWJyQkaOzYsapevbq8vb3l7e2tWrVq6fvvv08VU8pL2Hbt2qUnn3xSuXLlUmhoqF37JN38wdGwYUP16dNHzZs3N8v/++8/m3qGYWjy5Ml6/PHH5ePjI09PTwUFBWnw4ME2/SbZ9kdKXbt2TfPyxJT7cfDgQbVs2VK5cuVS3rx59eqrr9r8EJOkCxcuKDw8XH5+fsqdO7fCw8N14cKFNPfParXqww8/VMWKFeXl5SVPT08VK1ZMoaGhmjJlit3HCQAAOKYaNWqoXr165iPluXilSpXM8qJFiyp37tyyWCxq1KiR1q5dq9q1a8vLy0u9evWSJE2ZMkUhISEqVqyYvL295enpqbJly6pPnz6pzjXSmtP22LFjZlmjRo20efNmPfHEE8qZM6cCAgI0ZMgQWa1Ws4305rRN2fbOnTvVp08f+fv7y8vLS0899ZSOHz9uE4vVatWIESNUtGhR5cyZU0888YT5u+Fe591Nz6FDh9StWzcFBgbK3d1d+fLl09NPP61Vq1alqvvNN9+oRo0aypUrlzw8PFSkSBE1bdpUn376qc0+cM4GwGQAgJ1KlSplSDIkGaNGjbJ7veLFi5vrpWyjePHihmEYxqhRo8yyWx85c+Y09uzZY7Z18OBBw8/PL1W9ypUrm8+7dOli1j9+/LhRtGjRNNvOkSOHsWjRIrPu6tWrzWUlS5Y0LBaL+fq9995Ld/+WLl1q1itSpIjx/fffG+fOnbvtMXnxxRfT3eejR48ahmEYcXFxRoMGDdKt16BBAyM+Pt7u45yRY5GeevXqmev0798/1fKLFy8a7u7uZp1Vq1YZhmEY5cuXNyQZnp6eRnR0tFn/yy+/NOt++eWXhmEYxo0bN4wmTZqku9/vvPOOzTaTy/38/Ix8+fKZrxs2bHjbfUl5vFavXm2Wt2jRwiyfNm2aWW61Wo0OHTqkG1dQUJBx6dKlNNtPqUuXLmluN7nM19fXZj+SH++++65ZNz4+3qhWrdptPwfJ/W4YhjFixIh0465bt+5tjxMAAHA+6Z3nHD161CwvXLiw4enpmeocOiQkJN3zhvLlyxvXr18322vYsGGqc9iU2yhUqJDh5eWVqp3//e9/ZhtTp05N85w7Zdspz23TO4d5/fXXU9Xx8/MzSpQokSrG9KT8PZDyXCot//zzj+Hj45PmcbJYLMbXX39t1p0xY0a6x7RIkSJmPc7ZAKTESFsAdrl69aqOHDlivm7cuLH5/MyZM1q/fr3N49b5TpOdPXtWY8eO1W+//abBgwdLkoKDgzVu3DgtXrxYq1ev1sqVK/XJJ59Ikq5du6bPP//cXH/o0KHmiMZq1app4cKFGjdunA4dOpTm9l577TWdPHlS0s1RsMuXL9fEiROVK1cuJSQk6MUXX1RsbGyq9Y4ePaoaNWrop59+0sKFC1W/fv10j01wcLA57+mpU6f0wgsvyN/fX2XKlFGvXr3077//2tSfN2+evvvuO0mSq6ur+vfvr2XLlmnGjBl68sknzZGZX3zxhXlTr8DAQM2ePVs//PCDOdfX2rVrbY7NnY7z3R6LlPbs2WM+r1q1aqrlefPmVWBgYKr6nTp1knTzJnZLliwxl//888/mcejQoYMk6csvvzRHJzz++ONasGCBfv75Z5UrV06S9Omnn+qff/5Jte2oqCi5urpq8uTJWrFihV566aXb7ktKu3bt0tq1azVu3Dhzeg9/f3+1atXKrDN37lz9+OOPkqQ8efJo8uTJWrBggSpXrixJ2rdvn3ms70V0dLQKFCigefPm6YMPPjDLv/nmG/P51KlTtW3bNkk3R71/9913+umnn3T16tU021y0aJEkKXfu3Pr+++/1+++/a8aMGXr11Vfvev45AADg3E6fPq2iRYvq+++/17JlyxQWFiZJat++vb777jstXbpUa9as0dKlSxUeHi5J2rt3r+bPn2/3Ns6cOaPHHntMixYt0uuvv26Wpzyvscf58+c1adIkff/998qdO7ck6a+//jLPs/fv369x48ZJklxcXDRs2DD98ssvCg4OzvTRtZJkGIa6deummJgYSdJzzz2npUuXaujQoXJxcZFhGOrbt6951VbyuZibm5smTZqkVatWadasWXrrrbdUsmRJs13O2QDYyO6sMQDncPLkSZv/9O7fv99cNm7cuFT/CU75X/KU/+mfPHlyqrZjY2ON999/36hUqZKRM2fOVG1Vq1bNMAzDSEpKMnLlymWW//vvv2Yb7777bqpRAhcvXjRHywYEBBjr1q0zH61atTLr//zzz4Zh2P5nPVeuXMbFixftPj4//fSTTWwpH25ubsa8efPMus8++6y5bNCgQem2mXLU5C+//GKW//LLL2Z5lSpV7DrOGT0W6XFzczPrrlixIs06jz/+uFln5MiRhmEYxpEjR8ztt27d2jAMwzhz5ozh4uJiSDKaN29url+lShVz/blz55pxphx50Lt3b7N+ymP922+/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", + "text/plain": [ + "

" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 13: Training curves\n", + "fig, axes = plt.subplots(1, 2, figsize=(14, 5))\n", + "rounds = training_log[\"round\"]\n", + "\n", + "axes[0].plot(rounds, training_log[\"avg_grader\"], 'o-', color='#2196F3', lw=2, label='Avg grader')\n", + "axes[0].fill_between(rounds, training_log[\"avg_grader\"],\n", + " training_log[\"max_grader\"], alpha=0.2, color='#2196F3')\n", + "axes[0].set_xlabel('Round'); axes[0].set_ylabel('Grader Score')\n", + "axes[0].set_title('Grader Score Over Rounds', fontweight='bold')\n", + "axes[0].legend(); axes[0].grid(True, alpha=0.3)\n", + "\n", + "axes[1].plot(rounds, training_log[\"train_loss\"], 's-', color='#E53935', lw=2)\n", + "axes[1].set_xlabel('Round'); axes[1].set_ylabel('Loss')\n", + "axes[1].set_title('Training Loss', fontweight='bold')\n", + "axes[1].grid(True, alpha=0.3)\n", + "\n", + "fig.suptitle('Viraltest v2 — LoRA Training Progress (Qwen 1.5B)', fontsize=14, fontweight='bold')\n", + "fig.tight_layout()\n", + "fig.savefig(f'{PLOTS_DIR}/reward_curve.png', dpi=150, bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "7920e23a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T23:01:26.922627Z", + "iopub.status.busy": "2026-04-25T23:01:26.922445Z", + "iopub.status.idle": "2026-04-25T23:01:27.180249Z", + "shell.execute_reply": "2026-04-25T23:01:27.179391Z" + }, + "papermill": { + "duration": 0.266997, + "end_time": "2026-04-25T23:01:27.180912+00:00", + "exception": false, + "start_time": "2026-04-25T23:01:26.913915+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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xbx9+/Zmna5du6pOnTqaOHGizpw5I0l64IEH9OCDD0qSqlSporfeeku//PKLfv31V0l5py7n3MM7ZcoUzZ8/X9Kl1aw7deqk+vXr69ChQ5o/f74yMjL09ddfKyIiIs/U5xxr1qxR5cqV1alTJ3l4eOjkyZM2X4MrmT9/vqZOnWq+v/3229WxY0cdO3ZMn3/+ubKysnT06FE9/vjj2rFjh5ycCv7fZ1ZWlvbu3avZs2ebZXfccYeqV6+ep+7GjRu1c+dO833Xrl0VGBiod999V5J04sQJ/e9//7P6/djLli1b5OTkpB49eqhGjRravXu33NzcJEkhISFq1aqVKleuLD8/PxmGoUOHDmnRokU6f/68tm3bpo8++kgjRoyw+bixsbHq2LGjateurQULFuiff/6RdOkJBpMnT1aFChVsam/jxo0KCQnR008/rX///VdffvmlpEv32U+fPl0zZsyQJB05ckTDhg0z9/P09FTfvn3l4OCgWbNmKTk52eZzuV5iYmLMny0Wi5555plraq+gf2NOTk6KiIhQo0aNVL58efn4+Oj8+fNau3atVq1aJUl6/fXXzX5KkqZPn641a9aYbTdo0ECPPPKItm/fXuiigiXVV9xxxx1mv7pw4UL99NNPatasme644w41bdpU9913n7y9vfPs16NHD/3555/m+/DwcLVr106urq7asmWLNmzYYG7bv3+/evToobS0NElSuXLl1KtXL1ksFn3++ec6ffq00tLS1KtXLzVs2DDfdTP27dsnSXr88cdVv359HT58WL6+vkpOTtZjjz1m3tdfuXJldenSRe7u7vrmm2+0Y8cOJSUlqVOnTtq3b598fX21a9cuc+V4BwcH9ezZUzVr1tTp06d16NAhVpUH7KFkc34AN7rLR4gLek2cONFqv//++89wcnIyt8+ePdtq+8CBA61G2HIrbFrnli1brI47YsQIc1tmZqbRrFkzc1vZsmWNrKysfM/jzjvvNC5evFhsMRfktddeM/dp2LChWb548WKz3M/Pzxxd+e6778zyNm3a5GkvNTU1z4h5YTZs2GB13l9//bVhGIYxfvx4s8zFxcU4ffp0nn0vn7J7ucJGHg3j0shV7tGXsWPHWm3PPa26XLly5u/q8tGrKlWqGGfOnCnyORuG7SPd9evXN+uGhYUZFy5cMLd99NFH+Y4uGYb1Z7WgV+PGjY1//vkn3+M+99xzVp+DtLQ0wzAMo1q1amb5448/btO552bLSLekAqcoG4ZhnD171vjpp5+MGTNmGO+8847x1ltvGffcc4+573333WdVP3e7hY10Dx061NwWFxdntS33LIyijnR7enoaR48eNbc99thj5rY77rjDLJ80aZLVsXJPp728v7jRRrpzz44ICAiw2nbx4sV8P4e5ZyLZ+m9sz549xsKFC43333/fePvtt4233nrL8PDwMPefN2+eWTf3TJ3q1atbjRz369fP6rg5I90l2Vds2LDBcHFxKfDfr5ubm/H8888b58+fN/f5+++/req0a9fOSE9Pt2r3wIED5s9Dhgwx6zo4OBjbtm0zt23bts1wcHAwtw8ZMsTcdnk/Nm3atDzxT58+3aoPyX0bTEpKilG+fHlz+/Tp0w3DMIzNmzebZeHh4Xmm7WdmZhbYZwG4Oox0A7BJzkJqWVlZ2rFjh7766itlZmbqpZdeUkZGhjmyvGHDBmVmZpr7PfPMMwWOxsTFxenChQtFWhAmZyQ7R69evcyfHR0d1b17d7NOYmKi9uzZo/Dw8DztDB8+3BzFy2GPmHv37q1x48bJMAxt2rRJ+/btU40aNaxWBn/qqafMxaoaN24sV1dXpaWl6eeff9btt9+uevXqqWbNmmrQoIHuv/9+c0SpKHIvoObt7a2HH35Y0qUR1ZzfVXp6uhYsWKDnn3++yO0WxZ49e6xWVR4/frzGjx+fb93//vtPe/fu1W233ZZn26BBg1SmTJlijS23Cxcu6O+//zbfP/nkk3J3dzff9+zZUwMHDjTfr1+/vsjPKg8ICNDrr7+uypUr59mWlpZmtVL/448/LhcXF0mX/p1NnDhRkvTjjz/qv//+U7ly5Ww6L1vVqVNHHTp0yFOenZ2tUaNGafr06ebCcPm5fPXnosp9bWvVqmW1LWemhS06dOhgNTqeu83c7f3111/mz+XLl1fbtm3N9y1btjRnqdiioEUJbfHQQw/p9ttvL3L94ngkXkH/xv755x89/fTTWrduXaH75/zuU1JSzJk6ktSpUyerhfi6d++umTNn5tm/JPuKJk2aaMOGDXrttdf0008/KSMjw2p7amqq3nvvPSUlJZn9aWxsrFWdV199Vc7OzlZlVatWNX/O/f+thg0bWi1gWKdOHTVs2NAcNb/8/3E5/Pz8NGjQoDzla9euNX8+c+ZMof3EunXr9Pzzzys8PFzlypXTf//9p127dql69epq0KCBatasqXr16ql169b59lkArh5JNwCbtG3b1urZvlWrVjVXF889zfDyx1MVxjAM/ffff0VKui9vNzAwsND3Bf3Rnt8fbPaIuXLlyrrvvvvM6aBffvmlhg4dqp9++smskzuxDwkJ0dy5czV48GCdPn1aO3futJp+7OXlpZkzZ6pr165XjDEtLc0quX/00UfNZLJGjRpq2LChNm3aJOlScl7cSbct11O69Iie/H4v+ZUVpzNnzlitAH35Z8jT01NeXl5KSUkx6+cnZ4r9yZMnNW/ePJ04cUInT57Uww8/rF9++UX33XefVf2lS5datZX7d/rUU0+ZSbe9vhS5XEHX+b333rN6/FdBcqbO2ir3M94vXyk9Ozv7mtq7vM3c7Z09e9b8OSgoKE87QUFBNifdl99iczX8/f2vmHRXrFjR7BdOnTqlM2fOyM/PT5Lk7Oxs/r6mT59epC9DCvrdP/bYY9q6desV98/53ee+ppLyPObx8n9bOUq6r4iIiNDSpUt14cIFbdy4UX/88Yd+/vlnq2nWn3/+uaZOnaqyZcvmibdKlSqFtp+7fn7XIHdZQf1LtWrV8r2txZZrd+rUKUmXbl1avHixIiMjFR8fr4MHD5q3dEmXbq2aNGmSoqOji9w2gMKRdAO4Jk2aNDF/zszM1J9//qmKFSvmeTTSsGHDCr03s6jP3b283RMnTlh9s3/ixAmr7Tl/iF7O09Pzim0XV8yRkZFm0v3VV1+pUqVK5h+p9erVU8OGDa3qd+3aVZ06ddLGjRu1bds27du3T6tWrdKWLVuUkpKiPn366JFHHsnzeKjLLV261OqP4AULFmjBggX51t2yZYu2bdumunXrFumciuLy69mrV69CH1F1ebKUI7/fVXHy8/OTxWIxE+/LP0Pnz583E+6c+vnx8fExH5PVv39/RURE6Pz588rKytLAgQO1fft2qz+aL3+M2wMPPFBgjPb4UuRyBV3nRYsWmT9XqFBBS5YsUUREhFxcXDRixIgiJeSFyT1CWByjtpePOBbUZu4R0fzu/U1ISLjmWOzl/vvvN9dTyM7O1rx58zRkyBBJl2b85HwOFy5cWKSkO7/f/Z49e6wS7m7dumnKlCmqUKGCLBaLAgICzCQux+V94uXX9fJ/WzlulL7Cw8NDLVu2VMuWLTVq1Ci9/vrrVuuC7Nu3T02bNs0T76FDh1S+fPkC281dP79rkLvMlv9nXd52cHBwoYly7ueM33fffTp06JA2b96suLg47d+/X+vWrdOaNWuUnp6uF198UY8++mi+a1EAsB1JN4BrknshGenSIlLSpefFOjo6mu+dnZ3zfW7vP//8oz179hT5mbCXP6f3888/15tvvmke+4svvjC3lS1bNs901cLYK+bHH39cvr6+SkpK0p49e/T666+b2y5flC4xMVHnzp1T5cqV1aJFC7Vo0ULSpdGPnD+uLly4oD179uRJ1i9X0LO5CzJnzhyrxcSuJHdyc+HChTzba9WqZU5hlC4tHpff9Tx58qTWrl1r9Qfh9eTh4aH69esrLi5OkvT1119r3Lhx5qyAefPmWdUvyrOiq1evruHDh5uzQPbs2aMFCxaYt0McO3bMTJqKYsuWLfr7779Vr169Iu9TXHJ+f9KlhQ1zvmhLTU3VDz/8cN3jKS6NGjXSt99+K+lS0rNq1Sq1atVKkrR69WqbR7klWc2YsKdnnnlGb7zxhvn87Zdffll16tTR/fffX2zHyP17ly4tWJlza8vq1avzJNzSpVtYatWqZU4x//bbbzVu3DhztkHu/jm3kuwrBg8erE6dOunee+/N8wXN5V9s5nxRc9ddd1mVv/7661qyZInVl2qHDx82p2g3b95cGzdulCRt2rRJO3bsMGczbN++3ZxxlFPXFs2bN9fixYslXRrJfvDBB/P0E4ZhKCYmRtWqVZN06d/uoUOHFB4erkaNGqlRo0ZmvZxnvGdnZ2vr1q0k3UAxIekGYJMVK1bo9OnTysrK0s6dO82VgaVLIyxNmzaVdCnhfeaZZ8z796ZMmaK//vpLzZs3l5ubm44ePao//vhDW7ZsUa9evdSmTZsiHb9+/fq6//77zZHjKVOm6ODBg7r99tv1yy+/WN0PN2TIEDk4OBT53OwVs7u7u7p27apPPvlE0qVREelS0vr0009b1d27d6+aNWumxo0bq379+qpQoYKcnJy0YsUKq3pXum/x6NGj+uWXX8z3derUyXfK6h9//KHDhw9LujQSPmXKlEJX5s4t973lp06dUmRkpGrXri2LxaJBgwbJ3d1d0dHRevnllyVJixcv1sGDB/XAAw/I29tbCQkJ+uuvv7Rhwwbddddd6tixY5GOezVy/qi8XP/+/dW/f3+98MIL6tGjh6RLX6o0btzYavXyHDVr1jTvi7+SIUOG6J133jFHySdPnqwePXrIwcFB8+bNM7/ckaT27dvnuVUhOztbX3/9tfl+zpw55qrm11OtWrXMlZN//PFHPfvsswoKCtI333yj3bt3X/d4ikuPHj00btw4paamSro0lbpPnz6SpFmzZpVkaFdUvnx5zZgxQ927d5dhGDp//rxat26t++67T82aNZOnp6eOHDli/t6uRvXq1eXg4GBOyR8yZIji4uL033//ac6cOQXu16dPH3MV+/3796tZs2Zq3769tm/fru+++y7ffRwcHEqsr/jhhx/0wQcfqEKFCrr33ntVo0YNubi4aM+ePVazPKpUqaKaNWtKkurWrat27dqZtwn9+OOPql+/vtq1ayc3Nzft2LFDv//+u3mf+qBBg/Txxx8rLS1N2dnZuvfee61WL8+5xi4uLvnet12Y3r17a8KECTp9+rQyMzPVokULPfnkk6pevbrS0tK0Z88erV692vxiqUqVKjp79qxq166t22+/XU2aNFGFChXk7u6u2NhYJSUlmW3bcy0N4JZTYku4ASgVirp6uZT3ea3nz5+/4jOvlc/KwIWtXm4Yl57TnXv13vxeV3pO96FDh/I936uN+UouX0VcBaxKvX79+iseuyirWV++MnNsbGy+9WbNmmVVL/fq1Vdavfz48eNWKxjnfp06dcowjKI9e1dXWFk597N8i+pKzxrP77yu9JzuChUq2PScbsMwjOHDh1u1sWjRIsMwDOO2224zy2rUqFHgeeR+7nBAQIDNz+y2ZfXygj7Ta9assVrVP+fl5eVlPP744wW2n7tuYauXX66g/Yq6evnln9XC9ivoOd2VK1c2wsPDzfeRkZH5XpuStmjRIsPX17dIn/Xc/UZR/40NGDAg37buv/9+o2LFivle8/T0dKN58+b57nf5s6FtfU63PfqK3J+dgl5ubm5GTEyM1X6nT5++rs/pzn3el1u7dm2hz+m+/PocP378inWbNGlic38DoGBFHwICgMu4urqqcuXKeuKJJ7RixYo8z8T28PDQzz//rC+//FLt2rVTYGCgnJyc5O7urmrVqumJJ57Qp59+atOUZunSAkd//vmn3nnnHTVr1ky+vr5ycnIyVyBeuHChvvnmmyKP2F6PmJs0aZJnpDm/553XqlVL77zzjh5/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Y7V//35FRET4ezgAUGHULwCBiNqFq8nMdPz4cdWvX/+C/fx+e7nT3G633G63V1uNGjX8MxhcsyIiIij8AAIS9QtAIKJ24WqJjIy8aB+/TqQWFRWloKAg5eTkeLXn5OQoJiam3H1iYmJ86g8AAAAAgL/4NXQHBwerbdu2Sk9P97SVlpYqPT1dHTt2LHefjh07evWXpGXLlp23PwAAAAAA/uL328uTk5M1aNAgtWvXTomJiZoxY4ZOnjzpmc184MCBatCggaZMmSJJevzxx9WlSxe99NJL6tmzp95++22tX79er732mj9PAyiX2+1WampqmZ84AEBlR/0CEIioXaiMXGYXm9/cea+88oqmTp2q7OxsJSQkaObMmerQoYMk6dZbb1VcXJwWLFjg6b948WKNHTtWe/fu1Y033qgXX3xRd955p59GDwAAAABA+SpF6AYAAAAA4JfIr7/pBgAAAADgl4zQDQAAAACAQwjdAAAAAAA4hNANAACuipUrV8rlcik3N9ffQwEAL3v37pXL5VJGRsYF+91666164oknrsqY8MtB6MY1bfDgwXK5XGWWHj16+HtoAOBx6NAhjRw5Utddd53cbrdiYmLUvXt3rV69WpLkcrn0/vvvX5HXqugHz0vRqVMnZWVlKTIy8oofG8DVlZ2drUcffVSNGzeW2+1WbGysevXqpfT0dH8P7aIGDx6sPn36eLXFxsYqKytLLVq0kHT+Lwnfe+89Pf/881dppPil8PtzugF/69Gjh+bPn+/VxrMdAVQmd999t4qKivS3v/1NjRs3Vk5OjtLT03XkyJEKH6OoqEjBwcEOjvLigoODFRMT49cxALh8e/fuVefOnVWjRg1NnTpVLVu21KlTp/T555/rkUceUWZmpr+H6LOgoKAK1adatWpdhdHgF8eAa9igQYMsKSnpvNslWVpamvXp08dCQ0OtSZMm9sEHH3j1+eCDD6xJkybmdrvt1ltvtQULFpgkO3bsmJmZHT582O6//36rX7++hYaGWosWLezNN9/0OkZ+fr498MADVq1aNYuJibHp06dbly5d7PHHH/f0KSgosCeffNLq169v1apVs8TERFuxYsUVeicAVFbHjh0zSbZy5cpytzdq1MgkeZZGjRqZmVlqaqq1bt3a0tLSLC4uzlwul5mZffrpp9a5c2eLjIy0WrVqWc+ePW3Xrl2e4519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xo21Y8cOz/bGjRuratWqXvvl5eV59WnTpo1KSkp08OBBNWnSxGthJmDg2tS8eXOdPHlS0ukPriUlJRfd58iRI9q+fbvGjh2r2267Tc2aNdOxY8e8+pyZ4fzs40VHR6t+/fravXt3mRp0/fXXSzpdDzdv3qzCwkLPfufWw3O1atUqIB4vBOD/1apVS927d9esWbM8Nehsubm5atasmfbv36/9+/d72rdu3arc3Fw1b978ssewZs2aMuvNmjWTJN18883auXOn6tatW6Zenbm6HBwcfNGaWV4tLE/Dhg3VpUsXLVy4UAsXLlS3bt1Ut25dSRWrnbg2ELpxzSssLFR2drbXcvjw4Qrt+/DDDyszM1OjR4/Wjh079M4772jBggWSTn8zK53+RnjZsmX68ssvtW3bNj388MPKycnxHKN69eoaNGiQnnrqKa1YsUJbtmzR0KFDVaVKFc8xmjZtqv79+2vgwIF67733tGfPHq1bt05TpkzRxx9/fGXfEACVypEjR/Tb3/5Wb7zxhjZt2qQ9e/Zo8eLFevHFF5WUlCTp9C2a6enpys7OLhOiz1azZk3Vrl1br732mnbt2qV///vfntsgz6hbt65CQ0P12WefKScnR3l5eZKk5557TlOmTNHMmTO1Y8cObd68WfPnz9f06dMlSQ888IBKS0v10EMPadu2bfr88881bdo0Sf9fD8+VkpKir776Sr///e+1adMmZWZmavbs2RWuwQD8Y9asWSopKVFiYqKWLFminTt3atu2bZo5c6Y6duyorl27qmXLlurfv782bNigdevWaeDAgerSpYvatWt32a+/ePFizZs3Tzt27FBqaqrWrVunUaNGSTp9u3dUVJSSkpK0atUq7dmzRytXrtRjjz2mAwcOSDpdMzdt2qTt27fr8OHDOnXqVJnXaNSokVwul/75z3/q0KFDnqvW5enfv7/efvttLV68WP379/fadrHaiWuEv39UDvjToEGDyjwSQpLFx8ebWfmTE0VGRtr8+fM96+c+Mmz27NkmyTOZ0JEjRywpKcnCw8Otbt26NnbsWBs4cKDXBB7lPTIsMTHRxowZ4+lTVFRk48ePt7i4OKtatarVq1fP7rrrLtu0aZNj7w8A/ysoKLAxY8bYzTffbJGRkVatWjWLj4+3sWPH2k8//WRmZh9++KE1adLEfvWrX5V5ZNi5li1bZs2aNTO3222tWrWylStXlql1aWlpFhsba1WqVPGabXjhwoWWkJBgwcHBVrNmTfuf//kfr8mUVq9eba1atbLg4GBr27atvfnmmybJMjMzzaz8iYlWrlxpnTp1MrfbbTVq1LDu3btfcCJKAJXDjz/+aI888og1atTIgoODrUGDBta7d2/P40wr+siws5U3wdm5E5dJslmzZlm3bt3M7XZbXFycLVq0yGufrKwsGzhwoEVFRZnb7bbGjRvb8OHDLS8vz8xOP/WhW7duFh4eXu4jw86YMGGCxcTEmMvlKveRYWccO3bM3G63VatWzY4fP17mvbpY7cQvn8usArMhAKiwSZMmac6cOV63VPnq5MmTatCggV566SUNHTr0Co4OAK6ehQsXasiQIcrLy+P32wCuCJfLpaVLl6pPnz7+HgpQYUykBlymV199Ve3bt1ft2rW1evVqTZ061XOLU0Vt3LhRmZmZSkxMVF5eniZMmCBJnltHASAQ/P3vf1fjxo3VoEEDffPNNxo9erTuvfdeAjcA4JpG6AYu086dOzVx4kQdPXpU1113nZ588kmlpKT4fJxp06Zp+/btCg4OVtu2bbVq1SpFRUU5MGIAcEZ2drbGjx+v7Oxs1atXT3379tWkSZP8PSwAAPyK28sBAAAAAHAIs5cDAAAAAOAQQjcAAAAAAA4hdAMAAAAA4BBCNwAAAAAADiF0AwAAAADgEEI3AAAAAAAOIXQDAAAAAOAQQjcAAAAAAA75P4oWmPy5EVF4AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 14: Before vs After\n", + "task_labels = [t.replace('monthly_', '').title() for t in TASKS]\n", + "x = np.arange(len(TASKS))\n", + "w = 0.25\n", + "\n", + "fig, ax = plt.subplots(figsize=(10, 6))\n", + "b_scores = [before_results[t][\"grader_score\"] for t in TASKS]\n", + "a_scores = [after_results[t][\"grader_score\"] for t in TASKS]\n", + "s_scores = [baseline_results[\"smart\"][t][\"grader_score\"] for t in TASKS]\n", + "\n", + "ax.bar(x - w, b_scores, w, label='Base Model (Before)', color='#FF9800')\n", + "ax.bar(x, a_scores, w, label='LoRA Trained (After)', color='#4CAF50')\n", + "ax.bar(x + w, s_scores, w, label='Smart Heuristic', color='#9E9E9E', alpha=0.7)\n", + "\n", + "ax.set_ylabel('Grader Score'); ax.set_xticks(x); ax.set_xticklabels(task_labels)\n", + "ax.set_title('Before vs After LoRA Training — Grader Scores', fontsize=14, fontweight='bold')\n", + "ax.legend(); ax.grid(True, alpha=0.3, axis='y')\n", + "\n", + "for container in ax.containers:\n", + " for bar in container:\n", + " h = bar.get_height()\n", + " if h > 0:\n", + " ax.text(bar.get_x() + bar.get_width()/2., h + 0.005,\n", + " f'{h:.4f}', ha='center', va='bottom', fontsize=9)\n", + "\n", + "fig.tight_layout()\n", + "fig.savefig(f'{PLOTS_DIR}/before_after.png', dpi=150, bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c7d0adde", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T23:01:27.198624Z", + "iopub.status.busy": "2026-04-25T23:01:27.198440Z", + "iopub.status.idle": "2026-04-25T23:01:28.118265Z", + "shell.execute_reply": "2026-04-25T23:01:28.117532Z" + }, + "papermill": { + "duration": 0.929714, + "end_time": "2026-04-25T23:01:28.118907+00:00", + "exception": false, + "start_time": "2026-04-25T23:01:27.189193+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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O0muq6srVapUyXNdCqvMvXv3xsnJibi4OE6fPm1ys/H+m8oxMTHcvXsXf39/mjVrRrNmzQBjy+6sm5ZJSUmcPn06W2DkfvcOT5UXCxYsyFfr7Htb++fU8r5KlSq4ublx+/ZtwDixek7H89atW2zfvj3fw//kZvjw4Sa9jIrTmjVreO+997TXDg4OPPfccwDaccnSt29frXdHREREgQY3srzyyiv8+uuvAMyYMYOUlBQAQkNDqV27doHvL6/uPxYjRozQbrzf28skr5o2baptFxUVRYcOHbLVTynF5s2btcnAGzdujLm5uTZM1bRp0+jWrZtJL61r167h4eGhffYf9h1o2LChyf+URYsW0aVLF239okWLtOdmZmYmAePHce//yZSUFGrUqJHj0Fe7d+/WhscD49B7ISEh1KpVyyTYWadOHY4cOQLAgQMHJMAhhBBCCFFIJMAhhBBCCFHI1q9fT3R0NJmZmZw4cYIlS5Zo68zMzGjUqBFgDC6MHDmSefPmATB9+nT27dtH06ZNsba25urVq+zatYuDBw8ybNgwOnbsmKf916lTh3bt2mk9IqZPn8758+epUaMGv//+u8kcHa+99lqOY/3nprDKbGNjw8CBA/nqq68AY8twMN4cHTJkiEnaM2fO0KRJExo0aECdOnXw8fHB3Nyc9evXm6R72Hj8V69e5ffff9de16xZM8dW8Lt27eLixYuAsYfH9OnTMTfP22X1vUMtRUVFMWLECKpXr45Op+Pll1/GxsaG0aNH8+677wLGG9Xnz5+nffv2ODg4cOPGDfbt28fu3btp3rw5Tz31VJ72+ySbN28eTk5OREdH8+eff7J7925tnU6nY/78+bi7uwNQuXJl9Ho9BoMBMH5eDx06xO3bt1mwYEGhlC8sLIyqVaty6tQpLbgBRdd7Izf3ByK7du1K586dOXLkCD/++GO+8xs+fDgfffQR0dHRZGRk0KxZM/r160flypVJTU3l9OnTREREcPPmTcLDwwkMDMTFxYUXXniBL774AjDeyK9evTq9evXC2dmZM2fOsGrVKq5fv659/+79Duzfv5/XXnsNPz8/LC0tefXVV3Fzc2P48OHMnz8fMH4HYmNjadKkCbt27WLDhg3a9kOHDn3gXCH50bVrV6pVq8bJkycB41BovXv3pnr16hgMBs6dO8eff/7JxYsXWbBgASEhIYAx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/va3ueCCC7J48eK0trYO9nb6zWmnndbz38ccc0ymTZuWAw88MHfeeWf+4i/+YhB3tuPq9XpOOOGEXHnllUmSqVOn5sknn8xNN92U2bNnD/Lu+sfXv/71nHbaaRk/fvxgbwUqx7wd2szb6jBvgddj3g5t5m11mLewa/EOjs323XffNDc3Z/ny5b2OL1++POPGjRukXfF6zj///Pzwhz/MT3/60+y///6DvZ1+MXz48BxyyCE5/vjjs2DBgkyZMiXXXnvtYG9rhz322GNZsWJFjjvuuAwbNizDhg3L/fffn3/8x3/MsGHD0t3dPdhb7Bd77bVXDj300Pz6178e7K3ssP3222+r/6Fx+OGHV/6tyVv85je/yb//+7/n3HPPHeyt7PLM2+oxb4c+87Y6zFveKuZt9Zi3Q595Wx3mLexaFBybDR8+PMcff3yWLFnSc6xer2fJkiVF/IzIkjQajZx//vm566678pOf/CSTJk0a7C0NmHq9nq6ursHexg5773vfm1/84hdZunRpz58TTjghZ511VpYuXZrm5ubB3mK/WLNmTf7v//4v++2332BvZYedfPLJeeaZZ3od+9WvfpUDDzxwkHbUv775zW9mzJgxOf300wd7K7s887Y6zNvqMG+rw7zlrWLeVod5Wx3mbXWYt7Br8SOqXmPevHmZPXt2TjjhhJx00km55ppr0tnZmTlz5gz21nbYmjVrerXuy5Yty9KlS7P33nvngAMOGMSd7bi5c+fm9ttvz7/8y79k5MiRPT9Dds8998yIESMGeXc7bv78+TnttNNywAEHpKOjI7fffnvuu+++3HvvvYO9tR02cuTIrX527O6775599tmn0j9T9q/+6q9yxhln5MADD8zvfve7XH755Wlubs6f/dmfDfbWdthFF12Ud7zjHbnyyivz0Y9+NA8//HBuueWW3HLLLYO9tZ1Wr9fzzW9+M7Nnz86wYcbeUGDeVoN5Wx3mbXWYt7yVzNtqMG+rw7ytDvMWdjENernuuusaBxxwQGP48OGNk046qfGzn/1ssLe0U3760582kmz1Z/bs2YO9tR22rTxJGt/85jcHe2s75ZxzzmkceOCBjeHDhzdGjx7deO9739v4t3/7t8HeVr+bMWNG44ILLhjsbeyUM888s7Hffvs1hg8f3pgwYULjzDPPbPz6178e7G3ttH/9139tHHXUUY2WlpbGYYcd1rjlllsGe0v94t57720kaTzzzDODvRVew7wd+szbajNvhy7zlreSeTv0mbfVZt4OXeYt7DpqjUajMbAVCgAAAAAAQP/yOzgAAAAAAIDKUXAAAAAAAACVo+AAAAAAAAAqR8EBAAAAAABUjoIDAAAAAACoHAUHAAAAAABQOQoOAAAAAACgchQcAAAAAABA5Sg4AAAAAACAylFwAAAAAAAAlaPgAAAAAAAAKuf/B+9ZGRtoU1UfAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 15: Trajectory comparison\n", + "fig, axes = plt.subplots(2, 3, figsize=(16, 8))\n", + "comparisons = [\n", + " (\"Base Model\", before_results, '#FF9800', '--'),\n", + " (\"LoRA Trained\", after_results, '#4CAF50', '-'),\n", + "]\n", + "for i, task in enumerate(TASKS):\n", + " for label, res, color, ls in comparisons:\n", + " lw = 2.5 if 'Trained' in label else 1.5\n", + " axes[0, i].plot(res[task][\"rewards\"], label=label, color=color, lw=lw, ls=ls)\n", + " axes[1, i].plot(res[task][\"energies\"], label=label, color=color, lw=lw, ls=ls)\n", + " sr = baseline_results[\"smart\"][task]\n", + " axes[0, i].plot(sr[\"rewards\"], label=\"Smart\", color='#9E9E9E', lw=1, ls=':')\n", + " axes[1, i].plot(sr[\"energies\"], label=\"Smart\", color='#9E9E9E', lw=1, ls=':')\n", + " t_name = task.replace('monthly_', '').title()\n", + " axes[0, i].set_title(f\"{t_name} — Rewards\"); axes[0, i].grid(True, alpha=0.3)\n", + " axes[1, i].set_title(f\"{t_name} — Energy\"); axes[1, i].grid(True, alpha=0.3)\n", + "axes[0, 2].legend(bbox_to_anchor=(1.05, 1), loc='upper left')\n", + "fig.suptitle('Before vs After — Daily Trajectories', fontsize=14, fontweight='bold', y=1.01)\n", + "fig.tight_layout()\n", + "fig.savefig(f'{PLOTS_DIR}/training_trajectories.png', dpi=150, bbox_inches='tight')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "b2f368b2", + "metadata": { + "papermill": { + "duration": 0.009334, + "end_time": "2026-04-25T23:01:28.138384+00:00", + "exception": false, + "start_time": "2026-04-25T23:01:28.129050+00:00", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Part 7: Summary & Export" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "85bff6c3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T23:01:28.157495Z", + "iopub.status.busy": "2026-04-25T23:01:28.157286Z", + "iopub.status.idle": "2026-04-25T23:01:28.166686Z", + "shell.execute_reply": "2026-04-25T23:01:28.165716Z" + }, + "papermill": { + "duration": 0.020136, + "end_time": "2026-04-25T23:01:28.167527+00:00", + "exception": false, + "start_time": "2026-04-25T23:01:28.147391+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "===================================================================\n", + "FINAL RESULTS\n", + "===================================================================\n", + "\n", + "Task Before After Delta Smart\n", + "-------------------------------------------------------------------\n", + "monthly_engage 0.3048 0.0162 -0.2886 0.6342\n", + "monthly_strategic 0.3456 0.1749 -0.1707 0.7218\n", + "monthly_competitive 0.4808 0.3621 -0.1187 0.8315\n", + "-------------------------------------------------------------------\n", + "AVERAGE 0.3771 0.1844 -0.1927 0.7292\n", + "\n", + "Saved to /work/plots/\n", + "All results are from real LoRA weight updates on real environment runs.\n" + ] + } + ], + "source": [ + "# Cell 16: Final summary\n", + "print(\"=\" * 67)\n", + "print(\"FINAL RESULTS\")\n", + "print(\"=\" * 67)\n", + "print(f\"\\n{'Task':<25s} {'Before':>10s} {'After':>10s} {'Delta':>10s} {'Smart':>10s}\")\n", + "print(\"-\" * 67)\n", + "for task in TASKS:\n", + " b = before_results[task][\"grader_score\"]\n", + " a = after_results[task][\"grader_score\"]\n", + " s = baseline_results[\"smart\"][task][\"grader_score\"]\n", + " print(f\"{task:<25s} {b:>10.4f} {a:>10.4f} {a-b:>+10.4f} {s:>10.4f}\")\n", + "\n", + "avg_b = np.mean([before_results[t][\"grader_score\"] for t in TASKS])\n", + "avg_a = np.mean([after_results[t][\"grader_score\"] for t in TASKS])\n", + "avg_s = np.mean([baseline_results[\"smart\"][t][\"grader_score\"] for t in TASKS])\n", + "print(\"-\" * 67)\n", + "print(f\"{'AVERAGE':<25s} {avg_b:>10.4f} {avg_a:>10.4f} {avg_a-avg_b:>+10.4f} {avg_s:>10.4f}\")\n", + "\n", + "summary = {\n", + " \"model\": MODEL_NAME,\n", + " \"training\": \"LoRA SFT (real weight updates)\",\n", + " \"rounds\": NUM_ROUNDS, \"episodes_per_round\": EPISODES_PER_ROUND,\n", + " \"before\": {t: before_results[t][\"grader_score\"] for t in TASKS},\n", + " \"after\": {t: after_results[t][\"grader_score\"] for t in TASKS},\n", + " \"smart_heuristic\": {t: baseline_results[\"smart\"][t][\"grader_score\"] for t in TASKS},\n", + " \"improvement\": {t: after_results[t][\"grader_score\"] - before_results[t][\"grader_score\"] for t in TASKS},\n", + " \"training_log\": training_log,\n", + "}\n", + "with open(f\"{PLOTS_DIR}/training_summary.json\", \"w\") as f:\n", + " json.dump(summary, f, indent=2)\n", + "\n", + "pd.DataFrame(training_log).to_csv(f\"{PLOTS_DIR}/training_log.csv\", index=False)\n", + "\n", + "print(f\"\\nSaved to {PLOTS_DIR}/\")\n", + "print(\"All results are from real LoRA weight updates on real environment runs.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "7f92e1fa", + "metadata": { + "execution": { + "iopub.execute_input": "2026-04-25T23:01:28.187790Z", + "iopub.status.busy": "2026-04-25T23:01:28.187587Z", + "iopub.status.idle": "2026-04-25T23:01:28.400854Z", + "shell.execute_reply": "2026-04-25T23:01:28.399866Z" + }, + "papermill": { + "duration": 0.224623, + "end_time": "2026-04-25T23:01:28.401486+00:00", + "exception": false, + "start_time": "2026-04-25T23:01:28.176863+00:00", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LoRA adapter saved to ./viraltest_trained_adapter\n", + "Load with: PeftModel.from_pretrained(base_model, save_path)\n" + ] + } + ], + "source": [ + "# Cell 17: Save adapter\n", + "save_path = \"./viraltest_trained_adapter\"\n", + "peft_model.save_pretrained(save_path)\n", + "tokenizer.save_pretrained(save_path)\n", + "print(f\"LoRA adapter saved to {save_path}\")\n", + "print(\"Load with: PeftModel.from_pretrained(base_model, save_path)\")" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "gpuClass": "standard", + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.10" + }, + "papermill": { + "default_parameters": {}, + "duration": 852.127164, + "end_time": "2026-04-25T23:01:31.530152+00:00", + "environment_variables": {}, + "exception": null, + "input_path": "training/train_grpo.ipynb", + "output_path": "training/train_grpo.executed.ipynb", + "parameters": {}, + "start_time": "2026-04-25T22:47:19.402988+00:00", + "version": "2.7.0" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": { + "06b28508d49e45d29e2892bbbad9415c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_96c5aa840bc24103a3cde64f31f17190", + "placeholder": "​", + "style": "IPY_MODEL_f5cb210961614af3a2c0372c8dd5427f", + "tabbable": null, + "tooltip": null, + "value": " 660/660 [00:00<00:00, 144kB/s]" + } + }, + "07b571e339044dd99c9a7bcc53c29b70": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "0b057843dd8145e197affdb1b54d5c11": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "116318f0fd074405bce4f0a9f70606e3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_92572de3c8bd4340920bd41041fa3677", + "max": 4.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_461954ccde12450b884a5d88d99f78cc", + "tabbable": null, + "tooltip": null, + "value": 4.0 + } + }, + "12cd3cee31124f45a49c0b1f6b6dabc2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "1444f5ba0f92425d81dc3aea332fdfc8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "15764aef8e034dcc89c5b3b43a07366c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1a5abea34e494dc683603229b7a65d73": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1aab4e7be84b41e0bb4c3c5d1078bd88": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1c3cba90df624bfaa6b8fd950e834ed1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_f9aa2255c1094523a28e4e5850013ff3", + "IPY_MODEL_793c3fefdcf44710b5b32d396931b1a0", + "IPY_MODEL_4fcb0ece4db24d1ab44367762587864b" + ], + "layout": "IPY_MODEL_cbe219db8818475cb825daf8a3d3e838", + "tabbable": null, + "tooltip": null + } + }, + "1dd3d7bbb92a4f2b84f86cf873e42fb7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_e338db5125d24f57a0e58d905b1aacb0", + "placeholder": "​", + "style": "IPY_MODEL_9242d318a92f41adae61428fd06845bd", + "tabbable": null, + "tooltip": null, + "value": "tokenizer_config.json: 100%" + } + }, + "2161c6ddcfb6452a9ec8dab562ef47cb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_63703c8b138f4a11a753446120a0e908", + "IPY_MODEL_ebb37c4d91bf4a42a7aef1e8186062e9", + "IPY_MODEL_9fe4c015f8e64fa7bd1e12664f74dbcd" + ], + "layout": "IPY_MODEL_ce107e335c1e41a9b9d0aeafb578c4b8", + "tabbable": null, + "tooltip": null + } + }, + "24e1b952b30a4266bae74d029c52d7f6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "27d193479919478abccf42607a6b3032": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "27f9c44f0b7d4bd89404461be6dbff21": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "28fbc46f8dc44a6c9c2e71ab97d58c02": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2c2c1141de114958983f8669528f55ca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_da32983d4d164c4a942e1fff2b234113", + "max": 4.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_24e1b952b30a4266bae74d029c52d7f6", + "tabbable": null, + "tooltip": null, + "value": 4.0 + } + }, + "330301478152410481945768d907f057": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "357f6d6b21f4431abf6cfdc934d33ee1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "362856d11a494978ae3f667d68f09d3c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "376884b55ebc4c15aaf378561c1839a3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_4f783474f1204d358c36ef52457d3d64", + "max": 7305.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_8999ebf7ab524d72aa6508e2d027ecc1", + "tabbable": null, + "tooltip": null, + "value": 7305.0 + } + }, + "37f812ce5e2347479778ffccab06cb54": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "387d6d2981a74ab3abbea7b352fbfb39": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "3a17efff967144278453b7b92a146189": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_e6bf97b928c240afa63326920624d9f8", + "max": 1671839.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_4a50b585075b49399513484981060fef", + "tabbable": null, + "tooltip": null, + "value": 1671839.0 + } + }, + "3adecb27e83942588088da579cb170b2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3bdc93fafa724bdcb00b515e1b33332b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_73b47cd92e754d7e8ace7cbef0a5cb1c", + "placeholder": "​", + "style": "IPY_MODEL_ef27ba1ee51a46d6a5790f9623d59ac6", + "tabbable": null, + "tooltip": null, + "value": " 2.78M/2.78M [00:00<00:00, 23.6MB/s]" + } + }, + "42e7c29f98674f64a64c3abdb9b40679": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_15764aef8e034dcc89c5b3b43a07366c", + "placeholder": "​", + "style": "IPY_MODEL_ea9c9055255943aea8dd542e48b91266", + "tabbable": null, + "tooltip": null, + "value": "model.safetensors: 100%" + } + }, + "443cc98027db4b7d88e561a442945c2d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "460b0c74040b4031a721d1768173940a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "461954ccde12450b884a5d88d99f78cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4656772fbd9b4cada38159808c209f2d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "46671a6dad1f44fd92c451cdbffa3214": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_a4e984e6b37c48b28d84acbb7f5fa9d7", + "placeholder": "​", + "style": "IPY_MODEL_c5338b61e2cc4f3d868ba2370a96b50c", + "tabbable": null, + "tooltip": null, + "value": " 3.09G/3.09G [00:06<00:00, 657MB/s]" + } + }, + "47358f9f932a40a8ba48961ef65d630b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_7bd060f8373645e5aa91681002f1ed23", + "placeholder": "​", + "style": "IPY_MODEL_cbb206a606ed44229ac17289f17ed9c3", + "tabbable": null, + "tooltip": null, + "value": " 7.03M/7.03M [00:00<00:00, 52.6MB/s]" + } + }, + "48800cfb03424a28a0b37c1c9fd075b6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4965af7bb8c74cb186d30e37d36ad8bd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4a50b585075b49399513484981060fef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4ed3d5a4a24e404996782992ce69cfd2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "4f783474f1204d358c36ef52457d3d64": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4fcb0ece4db24d1ab44367762587864b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_27f9c44f0b7d4bd89404461be6dbff21", + "placeholder": "​", + "style": "IPY_MODEL_362856d11a494978ae3f667d68f09d3c", + "tabbable": null, + "tooltip": null, + "value": " 338/338 [00:00<00:00, 765.70it/s]" + } + }, + "52508674e4c048d9a7e7e8f54af2d737": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_fb8ad84b44544cbea03e46d27758b6f6", + "placeholder": "​", + "style": "IPY_MODEL_d6dad142bf7a4c769012c057db8e12db", + "tabbable": null, + "tooltip": null, + "value": "tokenizer.json: 100%" + } + }, + "5371ede9564748a787ac66b9f2c8f534": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_a7bc4fd218054751ba10ed47a5128b4a", + "placeholder": "​", + "style": "IPY_MODEL_0b057843dd8145e197affdb1b54d5c11", + "tabbable": null, + "tooltip": null, + "value": "Adding EOS to train dataset: 100%" + } + }, + "5489ccd564ea46199e34eb18a73b1aee": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "58711a6139e14b5e824ce7717eb87bb5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c70a5078ca8d4c32a4100fb3fc60853a", + "IPY_MODEL_3a17efff967144278453b7b92a146189", + "IPY_MODEL_f007d918dc6147869c69cd3a5bd3d2e5" + ], + "layout": "IPY_MODEL_ae7ba26d724b433c96831c533ee5583e", + "tabbable": null, + "tooltip": null + } + }, + "603f6b5d27264d49a3070989a413ee83": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_bf872f9dac41450bb3758bc6720d6ce9", + "placeholder": "​", + "style": "IPY_MODEL_4656772fbd9b4cada38159808c209f2d", + "tabbable": null, + "tooltip": null, + "value": "vocab.json: 100%" + } + }, + "63703c8b138f4a11a753446120a0e908": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_f4662c56e2a8457ca7398fee9bc60295", + "placeholder": "​", + "style": "IPY_MODEL_f3eb296230564402b0171e5d638d2037", + "tabbable": null, + "tooltip": null, + "value": "generation_config.json: 100%" + } + }, + "641cca32d5f04d0fa1be55d6fe2f7b72": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_5489ccd564ea46199e34eb18a73b1aee", + "placeholder": "​", + "style": "IPY_MODEL_07b571e339044dd99c9a7bcc53c29b70", + "tabbable": null, + "tooltip": null, + "value": "config.json: 100%" + } + }, + "6b265e7a4ffd45f2a28666521116af77": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6c33b2647c98485a8b87aac185e5a8af": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_96e0801ba0654a9cab5448742b946d54", + "placeholder": "​", + "style": "IPY_MODEL_c89c6918ae5f463eae3cf48b41f913b5", + "tabbable": null, + "tooltip": null, + "value": " 4/4 [00:00<00:00, 573.07 examples/s]" + } + }, + "6e2e90c8df324fcb8ceb6b633d1ceb65": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5371ede9564748a787ac66b9f2c8f534", + "IPY_MODEL_116318f0fd074405bce4f0a9f70606e3", + "IPY_MODEL_6c33b2647c98485a8b87aac185e5a8af" + ], + "layout": "IPY_MODEL_a4cc2830308b440bac5f69e757e5d511", + "tabbable": null, + "tooltip": null + } + }, + "6e874941b66a44919079f959eae61fc2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_48800cfb03424a28a0b37c1c9fd075b6", + "max": 3087467144.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_12cd3cee31124f45a49c0b1f6b6dabc2", + "tabbable": null, + "tooltip": null, + "value": 3087467144.0 + } + }, + "73b47cd92e754d7e8ace7cbef0a5cb1c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "74899c00e43a4c4a9bb48656931d8fa0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "793c3fefdcf44710b5b32d396931b1a0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_27d193479919478abccf42607a6b3032", + "max": 338.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_4965af7bb8c74cb186d30e37d36ad8bd", + "tabbable": null, + "tooltip": null, + "value": 338.0 + } + }, + "7bd060f8373645e5aa91681002f1ed23": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7c4e1be8f3894bada5435981f2062cc5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_1dd3d7bbb92a4f2b84f86cf873e42fb7", + "IPY_MODEL_376884b55ebc4c15aaf378561c1839a3", + "IPY_MODEL_d05005e8c81e44cf8323376ba9b9b91c" + ], + "layout": "IPY_MODEL_6b265e7a4ffd45f2a28666521116af77", + "tabbable": null, + "tooltip": null + } + }, + "8276e58154be4b79be454000483941ef": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_641cca32d5f04d0fa1be55d6fe2f7b72", + "IPY_MODEL_eae90241b29d499696eb2fb5184db062", + "IPY_MODEL_06b28508d49e45d29e2892bbbad9415c" + ], + "layout": "IPY_MODEL_1a5abea34e494dc683603229b7a65d73", + "tabbable": null, + "tooltip": null + } + }, + "8999ebf7ab524d72aa6508e2d027ecc1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "8d81efaf768848c3a67b33245164f613": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "9242d318a92f41adae61428fd06845bd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "92572de3c8bd4340920bd41041fa3677": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9439aa1484394e07b5068134ee9ff6c8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "94b84db8adb548058801c3a2298275a6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "96c5aa840bc24103a3cde64f31f17190": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "96e0801ba0654a9cab5448742b946d54": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "97ee510d277147f89a1e7c919d9c32ee": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_357f6d6b21f4431abf6cfdc934d33ee1", + "placeholder": "​", + "style": "IPY_MODEL_9a3abb4cabdb49798b675d90172c1c6e", + "tabbable": null, + "tooltip": null, + "value": " 4/4 [00:00<00:00, 301.38 examples/s]" + } + }, + "9a3abb4cabdb49798b675d90172c1c6e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "9fe4c015f8e64fa7bd1e12664f74dbcd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_b69577c0c1434894b7fc8ae9037cc940", + "placeholder": "​", + "style": "IPY_MODEL_460b0c74040b4031a721d1768173940a", + "tabbable": null, + "tooltip": null, + "value": " 242/242 [00:00<00:00, 52.8kB/s]" + } + }, + "a3e070d331ed46d9aeaeedb4c95b42fa": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_e042f5aea57943cdab80001c763cd0b1", + "max": 2776833.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_b5392d04a1714872b50ac74beb849411", + "tabbable": null, + "tooltip": null, + "value": 2776833.0 + } + }, + "a4cc2830308b440bac5f69e757e5d511": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a4e984e6b37c48b28d84acbb7f5fa9d7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a7bc4fd218054751ba10ed47a5128b4a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ac607682814e4e3a917668290a8e6172": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ace8e79cc1234b8abe7a85973a70dcf4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_e0355e0fbce74bd1a52d05b04564f356", + "IPY_MODEL_2c2c1141de114958983f8669528f55ca", + "IPY_MODEL_97ee510d277147f89a1e7c919d9c32ee" + ], + "layout": "IPY_MODEL_ac607682814e4e3a917668290a8e6172", + "tabbable": null, + "tooltip": null + } + }, + "ae7ba26d724b433c96831c533ee5583e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "af8273c61a184445b9ad558e2a88719a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_37f812ce5e2347479778ffccab06cb54", + "max": 7031645.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_74899c00e43a4c4a9bb48656931d8fa0", + "tabbable": null, + "tooltip": null, + "value": 7031645.0 + } + }, + "b5392d04a1714872b50ac74beb849411": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b69577c0c1434894b7fc8ae9037cc940": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "baf825cbfbfd4042b73a23d136986c7c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bb03fd6868774ae1a8837a1b77ddca8b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bf872f9dac41450bb3758bc6720d6ce9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c5338b61e2cc4f3d868ba2370a96b50c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "c70a5078ca8d4c32a4100fb3fc60853a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_f2dc1d2b0dba40af83d87522292b5bd6", + "placeholder": "​", + "style": "IPY_MODEL_8d81efaf768848c3a67b33245164f613", + "tabbable": null, + "tooltip": null, + "value": "merges.txt: 100%" + } + }, + "c89c6918ae5f463eae3cf48b41f913b5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "cbb206a606ed44229ac17289f17ed9c3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "cbe219db8818475cb825daf8a3d3e838": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cce612ba0d474798946245ab85019b4e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ce107e335c1e41a9b9d0aeafb578c4b8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d05005e8c81e44cf8323376ba9b9b91c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_dcc4ae7d4d9844e5b70e5c57bbe1590e", + "placeholder": "​", + "style": "IPY_MODEL_4ed3d5a4a24e404996782992ce69cfd2", + "tabbable": null, + "tooltip": null, + "value": " 7.30k/7.30k [00:00<00:00, 1.69MB/s]" + } + }, + "d6dad142bf7a4c769012c057db8e12db": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "d7f98669d5e64269a1461e9b151aa312": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_603f6b5d27264d49a3070989a413ee83", + "IPY_MODEL_a3e070d331ed46d9aeaeedb4c95b42fa", + "IPY_MODEL_3bdc93fafa724bdcb00b515e1b33332b" + ], + "layout": "IPY_MODEL_3adecb27e83942588088da579cb170b2", + "tabbable": null, + "tooltip": null + } + }, + "da32983d4d164c4a942e1fff2b234113": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "dcc4ae7d4d9844e5b70e5c57bbe1590e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "dcd14169f60b488ab3d3fcd58ed29b27": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e0355e0fbce74bd1a52d05b04564f356": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_1444f5ba0f92425d81dc3aea332fdfc8", + "placeholder": "​", + "style": "IPY_MODEL_387d6d2981a74ab3abbea7b352fbfb39", + "tabbable": null, + "tooltip": null, + "value": "Tokenizing train dataset: 100%" + } + }, + "e042f5aea57943cdab80001c763cd0b1": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e338db5125d24f57a0e58d905b1aacb0": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e6bf97b928c240afa63326920624d9f8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ea9c9055255943aea8dd542e48b91266": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "eae90241b29d499696eb2fb5184db062": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_dcd14169f60b488ab3d3fcd58ed29b27", + "max": 660.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_443cc98027db4b7d88e561a442945c2d", + "tabbable": null, + "tooltip": null, + "value": 660.0 + } + }, + "ebb37c4d91bf4a42a7aef1e8186062e9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_330301478152410481945768d907f057", + "max": 242.0, + "min": 0.0, + "orientation": "horizontal", + "style": "IPY_MODEL_28fbc46f8dc44a6c9c2e71ab97d58c02", + "tabbable": null, + "tooltip": null, + "value": 242.0 + } + }, + "ef27ba1ee51a46d6a5790f9623d59ac6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "f007d918dc6147869c69cd3a5bd3d2e5": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_1aab4e7be84b41e0bb4c3c5d1078bd88", + "placeholder": "​", + "style": "IPY_MODEL_94b84db8adb548058801c3a2298275a6", + "tabbable": null, + "tooltip": null, + "value": " 1.67M/1.67M [00:00<00:00, 33.5MB/s]" + } + }, + "f0d3058737d44ef98442b1576d0626e1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_42e7c29f98674f64a64c3abdb9b40679", + "IPY_MODEL_6e874941b66a44919079f959eae61fc2", + "IPY_MODEL_46671a6dad1f44fd92c451cdbffa3214" + ], + "layout": "IPY_MODEL_cce612ba0d474798946245ab85019b4e", + "tabbable": null, + "tooltip": null + } + }, + "f2dc1d2b0dba40af83d87522292b5bd6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f3eb296230564402b0171e5d638d2037": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "f4662c56e2a8457ca7398fee9bc60295": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f5cb210961614af3a2c0372c8dd5427f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "background": null, + "description_width": "", + "font_size": null, + "text_color": null + } + }, + "f69304571dcf4176b37a7bf5fbff895c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_52508674e4c048d9a7e7e8f54af2d737", + "IPY_MODEL_af8273c61a184445b9ad558e2a88719a", + "IPY_MODEL_47358f9f932a40a8ba48961ef65d630b" + ], + "layout": "IPY_MODEL_baf825cbfbfd4042b73a23d136986c7c", + "tabbable": null, + "tooltip": null + } + }, + "f9aa2255c1094523a28e4e5850013ff3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "HTMLView", + "description": "", + "description_allow_html": false, + "layout": "IPY_MODEL_bb03fd6868774ae1a8837a1b77ddca8b", + "placeholder": "​", + "style": "IPY_MODEL_9439aa1484394e07b5068134ee9ff6c8", + "tabbable": null, + "tooltip": null, + "value": "Loading weights: 100%" + } + }, + "fb8ad84b44544cbea03e46d27758b6f6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "2.0.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border_bottom": null, + "border_left": null, + "border_right": null, + "border_top": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + } + }, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file