{
  "build_id": "lec06-a539b1c41cfd976b",
  "course": {
    "slug": "lecture06",
    "label": "Lecture 06",
    "title": "预训练、规模扩展与上下文学习",
    "date": "2026-10-26",
    "origin": "https://codingai-lec06.pages.dev",
    "audience": "public"
  },
  "sequence": [
    "OV01",
    "OV02",
    "OV03",
    "OV04",
    "OV05",
    "OV06",
    "OV07",
    "OV08",
    "OV09",
    "OV10",
    "AR01",
    "AR02",
    "AR03",
    "AR04",
    "AR05",
    "AR06",
    "AR07",
    "AR08",
    "AR09",
    "AR10",
    "VR01",
    "VR02",
    "VR03",
    "VR04",
    "VR05",
    "VR06",
    "RG02",
    "RG03",
    "RG04",
    "RG09",
    "RG10",
    "RG19",
    "RG23",
    "RG24",
    "RG25",
    "RG30",
    "RG32",
    "RC-H1",
    "RC-H2",
    "RC-H3",
    "RC-P1",
    "RC-P2",
    "RC-P3",
    "RC-P4",
    "RC-P5",
    "RC-P6",
    "RC-A1",
    "RC-A2",
    "RC-A3",
    "RC-A4",
    "RC-A5",
    "RC-A6",
    "RC-C1",
    "RC-C2",
    "RC-T1",
    "RC-T2",
    "RC-T3",
    "RC-V1",
    "RC-V2",
    "RC-F1",
    "RC-F2",
    "CL01",
    "CL02",
    "CL03",
    "CL04"
  ],
  "optional_pages": {
    "AM01": {
      "page": "AR01",
      "step": "b0"
    },
    "AM02": {
      "page": "AR01",
      "step": "b0"
    },
    "AM03": {
      "page": "AR02",
      "step": "b0"
    },
    "AM04": {
      "page": "AR02",
      "step": "b3"
    },
    "AM05": {
      "page": "AR03",
      "step": "b0"
    },
    "AM06": {
      "page": "AR03",
      "step": "b2"
    },
    "AM07": {
      "page": "AR04",
      "step": "b0"
    },
    "AM08": {
      "page": "AR04",
      "step": "b2"
    },
    "AM09": {
      "page": "AR05",
      "step": "b0"
    },
    "AM10": {
      "page": "AR06",
      "step": "b0"
    },
    "AM11": {
      "page": "AR06",
      "step": "b2"
    },
    "AM12": {
      "page": "AR07",
      "step": "b0"
    },
    "AM13": {
      "page": "AR07",
      "step": "b1"
    },
    "AM14": {
      "page": "AR09",
      "step": "b0"
    },
    "AM15": {
      "page": "AR08",
      "step": "b0"
    },
    "AM16": {
      "page": "AR08",
      "step": "b0"
    },
    "AM17": {
      "page": "AR10",
      "step": "b0"
    },
    "AM18": {
      "page": "AR10",
      "step": "b0"
    },
    "N11": {
      "page": "VR01",
      "step": "b0"
    },
    "N12": {
      "page": "VR02",
      "step": "b0"
    },
    "N13": {
      "page": "VR02",
      "step": "b1"
    },
    "N14": {
      "page": "VR02",
      "step": "b2"
    },
    "N15": {
      "page": "VR03",
      "step": "b0"
    },
    "N16": {
      "page": "VR03",
      "step": "b1"
    },
    "N17": {
      "page": "VR04",
      "step": "b0"
    },
    "N18": {
      "page": "VR05",
      "step": "b0"
    },
    "N19": {
      "page": "VR05",
      "step": "b1"
    },
    "GF01": {
      "page": "VR06",
      "step": "b0"
    },
    "GF02": {
      "page": "RG02",
      "step": "b0"
    },
    "GF03": {
      "page": "RG03",
      "step": "b0"
    },
    "GF04": {
      "page": "RG04",
      "step": "b0"
    },
    "GF05": {
      "page": "RG04",
      "step": "b0"
    },
    "GF06": {
      "page": "RG04",
      "step": "b0"
    },
    "GF07": {
      "page": "RG04",
      "step": "b0"
    },
    "GF08": {
      "page": "RG04",
      "step": "b0"
    },
    "GF09": {
      "page": "RG09",
      "step": "b0"
    },
    "GF10": {
      "page": "RG10",
      "step": "b0"
    },
    "GF11": {
      "page": "RG04",
      "step": "b0"
    },
    "GF12": {
      "page": "RG09",
      "step": "b0"
    },
    "GF13": {
      "page": "RG10",
      "step": "b0"
    },
    "GF14": {
      "page": "RG10",
      "step": "b0"
    },
    "GF14A": {
      "page": "RG10",
      "step": "b0"
    },
    "GF15": {
      "page": "RG04",
      "step": "b0"
    },
    "GF16": {
      "page": "RG10",
      "step": "b0"
    },
    "GF17": {
      "page": "RG09",
      "step": "b0"
    },
    "GF18": {
      "page": "RG25",
      "step": "b0"
    },
    "GF19": {
      "page": "RG19",
      "step": "b0"
    },
    "GF20": {
      "page": "RG19",
      "step": "b0"
    },
    "GF21": {
      "page": "RG19",
      "step": "b0"
    },
    "GF22": {
      "page": "RG19",
      "step": "b0"
    },
    "GF23": {
      "page": "RG23",
      "step": "b0"
    },
    "GF24": {
      "page": "RG24",
      "step": "b0"
    },
    "GF25": {
      "page": "RG25",
      "step": "b0"
    },
    "GF26": {
      "page": "RG25",
      "step": "b0"
    },
    "GF27": {
      "page": "RG19",
      "step": "b0"
    },
    "GF28": {
      "page": "RG09",
      "step": "b0"
    },
    "GF29": {
      "page": "RG04",
      "step": "b0"
    },
    "GF30": {
      "page": "RG30",
      "step": "b0"
    },
    "GF31": {
      "page": "RG30",
      "step": "b0"
    },
    "GF32": {
      "page": "RG32",
      "step": "b0"
    },
    "N20": {
      "page": "RC-H1",
      "step": "b0"
    },
    "N21": {
      "page": "RC-H2",
      "step": "b0"
    },
    "N22": {
      "page": "RC-H2",
      "step": "b0"
    },
    "N23": {
      "page": "RC-H3",
      "step": "b0"
    },
    "N24": {
      "page": "RC-P1",
      "step": "b0"
    },
    "N25": {
      "page": "RC-P2",
      "step": "b0"
    },
    "N26": {
      "page": "RC-P3",
      "step": "b0"
    },
    "N27": {
      "page": "RC-P4",
      "step": "b0"
    },
    "N28": {
      "page": "RC-P4",
      "step": "b0"
    },
    "N29": {
      "page": "RC-P4",
      "step": "b0"
    },
    "N30": {
      "page": "RC-P5",
      "step": "b0"
    },
    "N31": {
      "page": "RC-P6",
      "step": "b0"
    },
    "N32": {
      "page": "RC-P6",
      "step": "b1"
    },
    "N33": {
      "page": "RC-A1",
      "step": "b0"
    },
    "N34": {
      "page": "RC-A2",
      "step": "b0"
    },
    "N35": {
      "page": "RC-A3",
      "step": "b0"
    },
    "N36": {
      "page": "RC-A1",
      "step": "b0"
    },
    "N37": {
      "page": "RC-A4",
      "step": "b0"
    },
    "N38": {
      "page": "RC-A4",
      "step": "b2"
    },
    "N39": {
      "page": "RC-A5",
      "step": "b1"
    },
    "N40": {
      "page": "RC-A6",
      "step": "b0"
    },
    "N41": {
      "page": "RC-C1",
      "step": "b0"
    },
    "N42": {
      "page": "RC-C2",
      "step": "b0"
    },
    "N43": {
      "page": "RC-C2",
      "step": "b1"
    },
    "N44": {
      "page": "RC-T1",
      "step": "b0"
    },
    "N45": {
      "page": "RC-T1",
      "step": "b0"
    },
    "N46": {
      "page": "RC-T2",
      "step": "b0"
    },
    "N47": {
      "page": "RC-T2",
      "step": "b1"
    },
    "N48": {
      "page": "RC-T2",
      "step": "b3"
    },
    "N49": {
      "page": "RC-T3",
      "step": "b0"
    },
    "N50": {
      "page": "RC-T3",
      "step": "b0"
    },
    "N51": {
      "page": "RC-T3",
      "step": "b1"
    },
    "N52": {
      "page": "RC-V1",
      "step": "b0"
    },
    "N53": {
      "page": "RC-V1",
      "step": "b0"
    },
    "N54": {
      "page": "RC-V2",
      "step": "b0"
    },
    "N55": {
      "page": "RC-V2",
      "step": "b0"
    },
    "N56": {
      "page": "RC-V2",
      "step": "b0"
    },
    "N57": {
      "page": "RC-V2",
      "step": "b0"
    },
    "N58": {
      "page": "RC-V2",
      "step": "b0"
    },
    "N59": {
      "page": "RC-V2",
      "step": "b2"
    },
    "N60": {
      "page": "RC-F1",
      "step": "b0"
    },
    "N61": {
      "page": "RC-F1",
      "step": "b0"
    },
    "N62": {
      "page": "RC-F2",
      "step": "b0"
    }
  },
  "legacy_routes": {
    "O01": {
      "states": {
        "b0": {
          "path": "pages/O01.html",
          "from": "N52",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/O01.html",
          "from": "N52",
          "returnStep": "b0",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/O01.html",
          "from": "N52",
          "returnStep": "b0",
          "hash": "b2"
        }
      }
    },
    "O02": {
      "states": {
        "b0": {
          "page": "N37",
          "step": "b0"
        },
        "b1": {
          "page": "N37",
          "step": "b1"
        },
        "b2": {
          "page": "N37",
          "step": "b2"
        }
      }
    },
    "P01": {
      "states": {
        "b0": {
          "page": "N24",
          "step": "b1"
        },
        "b1": {
          "page": "N26",
          "step": "b0"
        },
        "b2": {
          "page": "N26",
          "step": "b2"
        }
      }
    },
    "P02": {
      "states": {
        "b0": {
          "page": "N30",
          "step": "b0"
        },
        "b1": {
          "page": "N30",
          "step": "b2"
        },
        "b2": {
          "page": "N32",
          "step": "b2"
        }
      }
    },
    "P03": {
      "states": {
        "b0": {
          "path": "pages/P03.html",
          "from": "N30",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/P03.html",
          "from": "N30",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/P03.html",
          "from": "N30",
          "returnStep": "b2",
          "hash": "b2"
        }
      }
    },
    "P04": {
      "states": {
        "b0": {
          "path": "pages/P04.html",
          "from": "N32",
          "returnStep": "b1",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/P04.html",
          "from": "N32",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/P04.html",
          "from": "N32",
          "returnStep": "b1",
          "hash": "b2"
        }
      }
    },
    "P05": {
      "states": {
        "b0": {
          "path": "pages/P05.html",
          "from": "AM10",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/P05.html",
          "from": "AM10",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/P05.html",
          "from": "AM10",
          "returnStep": "b2",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/P05.html",
          "from": "AM10",
          "returnStep": "b2",
          "hash": "b3"
        },
        "b4": {
          "path": "pages/P05.html",
          "from": "AM10",
          "returnStep": "b2",
          "hash": "b4"
        }
      }
    },
    "P06": {
      "states": {
        "b0": {
          "path": "pages/P06.html",
          "from": "N37",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/P06.html",
          "from": "N37",
          "returnStep": "b0",
          "hash": "b1"
        }
      }
    },
    "H01": {
      "states": {
        "b0": {
          "page": "N38",
          "step": "b0"
        },
        "b1": {
          "page": "N39",
          "step": "b0"
        },
        "b2": {
          "page": "N40",
          "step": "b3"
        }
      }
    },
    "H02": {
      "states": {
        "b0": {
          "path": "pages/H02.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/H02.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/H02.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b2"
        }
      }
    },
    "H03": {
      "states": {
        "b0": {
          "path": "pages/H03.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/H03.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/H03.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/H03.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b3"
        }
      }
    },
    "H04": {
      "states": {
        "b0": {
          "path": "pages/H04.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/H04.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/H04.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b2"
        }
      }
    },
    "H05": {
      "states": {
        "b0": {
          "path": "pages/H05.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/H05.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/H05.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/H05.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b3"
        }
      }
    },
    "L01": {
      "states": {
        "b0": {
          "path": "pages/L01.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/L01.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/L01.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/L01.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b3"
        }
      }
    },
    "L02": {
      "states": {
        "b0": {
          "path": "pages/L02.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/L02.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/L02.html",
          "from": "N40",
          "returnStep": "b3",
          "hash": "b2"
        }
      }
    },
    "S01": {
      "states": {
        "b0": {
          "page": "N41",
          "step": "b0"
        },
        "b1": {
          "page": "N41",
          "step": "b2"
        },
        "b2": {
          "page": "N41",
          "step": "b4"
        }
      }
    },
    "S02": {
      "states": {
        "b0": {
          "path": "pages/S02.html",
          "from": "N42",
          "returnStep": "b1",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/S02.html",
          "from": "N42",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/S02.html",
          "from": "N42",
          "returnStep": "b1",
          "hash": "b2"
        }
      }
    },
    "S03": {
      "states": {
        "b0": {
          "page": "N42",
          "step": "b2"
        },
        "b1": {
          "page": "N43",
          "step": "b0"
        },
        "b2": {
          "page": "N43",
          "step": "b2"
        },
        "b3": {
          "page": "N43",
          "step": "b3"
        }
      }
    },
    "S04": {
      "states": {
        "b0": {
          "path": "pages/S04.html",
          "from": "N43",
          "returnStep": "b4",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/S04.html",
          "from": "N43",
          "returnStep": "b4",
          "hash": "b1"
        }
      }
    },
    "S05": {
      "states": {
        "b0": {
          "path": "pages/S05.html",
          "from": "N43",
          "returnStep": "b4",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/S05.html",
          "from": "N43",
          "returnStep": "b4",
          "hash": "b1"
        }
      }
    },
    "E01": {
      "states": {
        "b0": {
          "page": "N45",
          "step": "b0"
        },
        "b1": {
          "page": "N44",
          "step": "b2"
        },
        "b2": {
          "page": "N45",
          "step": "b2"
        }
      }
    },
    "E02": {
      "states": {
        "b0": {
          "path": "pages/E02.html",
          "from": "N46",
          "returnStep": "b1",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/E02.html",
          "from": "N46",
          "returnStep": "b1",
          "hash": "b1"
        }
      }
    },
    "E03": {
      "states": {
        "b0": {
          "path": "pages/E03.html",
          "from": "N47",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/E03.html",
          "from": "N47",
          "returnStep": "b0",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/E03.html",
          "from": "N47",
          "returnStep": "b0",
          "hash": "b2"
        }
      }
    },
    "E04": {
      "states": {
        "b0": {
          "path": "pages/E04.html",
          "from": "N48",
          "returnStep": "b3",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/E04.html",
          "from": "N48",
          "returnStep": "b3",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/E04.html",
          "from": "N48",
          "returnStep": "b3",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/E04.html",
          "from": "N48",
          "returnStep": "b3",
          "hash": "b3"
        },
        "b4": {
          "path": "pages/E04.html",
          "from": "N48",
          "returnStep": "b3",
          "hash": "b4"
        },
        "b5": {
          "path": "pages/E04.html",
          "from": "N48",
          "returnStep": "b3",
          "hash": "b5"
        },
        "b6": {
          "path": "pages/E04.html",
          "from": "N48",
          "returnStep": "b3",
          "hash": "b6"
        }
      }
    },
    "E05": {
      "states": {
        "b0": {
          "path": "pages/E05.html",
          "from": "N46",
          "returnStep": "b2",
          "hash": "b0"
        }
      }
    },
    "E06": {
      "states": {
        "b0": {
          "path": "pages/E06.html",
          "from": "N46",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/E06.html",
          "from": "N46",
          "returnStep": "b2",
          "hash": "b1"
        }
      }
    },
    "E07": {
      "states": {
        "b0": {
          "path": "pages/E07.html",
          "from": "N49",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/E07.html",
          "from": "N49",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/E07.html",
          "from": "N49",
          "returnStep": "b2",
          "hash": "b2"
        }
      }
    },
    "E08": {
      "states": {
        "b0": {
          "path": "pages/E08.html",
          "from": "N50",
          "returnStep": "b3",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/E08.html",
          "from": "N50",
          "returnStep": "b3",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/E08.html",
          "from": "N50",
          "returnStep": "b3",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/E08.html",
          "from": "N50",
          "returnStep": "b3",
          "hash": "b3"
        }
      }
    },
    "E09": {
      "states": {
        "b0": {
          "path": "pages/E09.html",
          "from": "N51",
          "returnStep": "b3",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/E09.html",
          "from": "N51",
          "returnStep": "b3",
          "hash": "b1"
        }
      }
    },
    "E10": {
      "states": {
        "b0": {
          "path": "pages/E10.html",
          "from": "N51",
          "returnStep": "b3",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/E10.html",
          "from": "N51",
          "returnStep": "b3",
          "hash": "b1"
        }
      }
    },
    "I01": {
      "states": {
        "b0": {
          "page": "N33",
          "step": "b0"
        },
        "b1": {
          "page": "N33",
          "step": "b1"
        },
        "b2": {
          "page": "N33",
          "step": "b2"
        }
      }
    },
    "I02": {
      "states": {
        "b0": {
          "path": "pages/I02.html",
          "from": "AM03",
          "returnStep": "b1",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/I02.html",
          "from": "AM03",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/I02.html",
          "from": "AM03",
          "returnStep": "b1",
          "hash": "b2"
        }
      }
    },
    "I03": {
      "states": {
        "b0": {
          "path": "pages/I03.html",
          "from": "AM04",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/I03.html",
          "from": "AM04",
          "returnStep": "b0",
          "hash": "b1"
        }
      }
    },
    "I04": {
      "states": {
        "b0": {
          "path": "pages/I04.html",
          "from": "AM13",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/I04.html",
          "from": "AM13",
          "returnStep": "b2",
          "hash": "b1"
        }
      }
    },
    "I05": {
      "states": {
        "b0": {
          "page": "N34",
          "step": "b0"
        },
        "b1": {
          "page": "N34",
          "step": "b1"
        },
        "b2": {
          "page": "N34",
          "step": "b3"
        }
      }
    },
    "V01": {
      "states": {
        "b0": {
          "page": "N52",
          "step": "b1"
        },
        "b1": {
          "page": "N53",
          "step": "b2"
        }
      }
    },
    "V02": {
      "states": {
        "b0": {
          "path": "pages/V02.html",
          "from": "N54",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/V02.html",
          "from": "N54",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/V02.html",
          "from": "N54",
          "returnStep": "b2",
          "hash": "b2"
        }
      }
    },
    "V03": {
      "states": {
        "b0": {
          "page": "N57",
          "step": "b0"
        },
        "b1": {
          "page": "N57",
          "step": "b2"
        },
        "b2": {
          "page": "N58",
          "step": "b2"
        }
      }
    },
    "V04": {
      "states": {
        "b0": {
          "page": "N55",
          "step": "b0"
        },
        "b1": {
          "page": "N55",
          "step": "b1"
        },
        "b2": {
          "page": "N55",
          "step": "b3"
        }
      }
    },
    "V05": {
      "states": {
        "b0": {
          "path": "pages/V05.html",
          "from": "N56",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/V05.html",
          "from": "N56",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/V05.html",
          "from": "N56",
          "returnStep": "b2",
          "hash": "b2"
        }
      }
    },
    "V06": {
      "states": {
        "b0": {
          "path": "pages/V06.html",
          "from": "N59",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/V06.html",
          "from": "N59",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/V06.html",
          "from": "N59",
          "returnStep": "b2",
          "hash": "b2"
        }
      }
    },
    "V07": {
      "states": {
        "b0": {
          "path": "pages/V07.html",
          "from": "N60",
          "returnStep": "b1",
          "hash": "b0"
        }
      }
    },
    "C01": {
      "states": {
        "b0": {
          "page": "N61",
          "step": "b1"
        },
        "b1": {
          "page": "N61",
          "step": "b1"
        },
        "b2": {
          "page": "N61",
          "step": "b2"
        },
        "b3": {
          "page": "N61",
          "step": "b3"
        },
        "b4": {
          "page": "N61",
          "step": "b3"
        }
      }
    },
    "M01": {
      "states": {
        "b0": {
          "path": "pages/N01.html",
          "from": "AM18",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N01.html",
          "from": "AM01",
          "returnStep": "b1",
          "hash": "b1"
        }
      }
    },
    "M02": {
      "states": {
        "b0": {
          "path": "pages/N04.html",
          "from": "AM04",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b1": {
          "path": "pages/N04.html",
          "from": "AM04",
          "returnStep": "b0",
          "hash": "b2"
        },
        "b2": {
          "path": "pages/N04.html",
          "from": "AM05",
          "returnStep": "b0",
          "hash": "b3"
        }
      }
    },
    "M03": {
      "states": {
        "b0": {
          "path": "pages/N05.html",
          "from": "AM09",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N05.html",
          "from": "AM09",
          "returnStep": "b2",
          "hash": "b2"
        },
        "b2": {
          "path": "pages/N06.html",
          "from": "AM12",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b3": {
          "path": "pages/N06.html",
          "from": "AM13",
          "returnStep": "b1",
          "hash": "b2"
        }
      }
    },
    "M04": {
      "states": {
        "b0": {
          "path": "pages/N07.html",
          "from": "AM10",
          "returnStep": "b1",
          "hash": "b2"
        },
        "b1": {
          "path": "pages/N08.html",
          "from": "AM14",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N10.html",
          "from": "AM17",
          "returnStep": "b2",
          "hash": "b0"
        }
      }
    },
    "Q01": {
      "states": {
        "b0": {
          "page": "N20",
          "step": "b2"
        },
        "b1": {
          "page": "N20",
          "step": "b3"
        },
        "b2": {
          "page": "N21",
          "step": "b2"
        }
      }
    },
    "Q02": {
      "states": {
        "b0": {
          "page": "N22",
          "step": "b0"
        },
        "b1": {
          "page": "N22",
          "step": "b1"
        },
        "b2": {
          "page": "N23",
          "step": "b2"
        }
      }
    },
    "P07": {
      "states": {
        "b0": {
          "page": "N27",
          "step": "b0"
        },
        "b1": {
          "page": "N27",
          "step": "b1"
        },
        "b2": {
          "page": "N27",
          "step": "b2"
        },
        "b3": {
          "page": "N28",
          "step": "b0"
        },
        "b4": {
          "page": "N28",
          "step": "b2"
        }
      }
    },
    "X01": {
      "states": {
        "b0": {
          "page": "N11",
          "step": "b0"
        },
        "b1": {
          "page": "N11",
          "step": "b2"
        }
      }
    },
    "X02": {
      "states": {
        "b0": {
          "page": "N13",
          "step": "b2"
        },
        "b1": {
          "page": "N14",
          "step": "b1"
        },
        "b2": {
          "page": "N14",
          "step": "b3"
        }
      }
    },
    "X03": {
      "states": {
        "b0": {
          "page": "N15",
          "step": "b1"
        },
        "b1": {
          "page": "N16",
          "step": "b0"
        },
        "b2": {
          "page": "N16",
          "step": "b3"
        }
      }
    },
    "X04": {
      "states": {
        "b0": {
          "page": "N18",
          "step": "b1"
        },
        "b1": {
          "page": "N19",
          "step": "b0"
        },
        "b2": {
          "page": "N19",
          "step": "b1"
        }
      }
    },
    "G02": {
      "states": {
        "b0": {
          "page": "N46",
          "step": "b1"
        },
        "b1": {
          "page": "N47",
          "step": "b0"
        },
        "b2": {
          "page": "N47",
          "step": "b1"
        },
        "b3": {
          "page": "N47",
          "step": "b2"
        }
      }
    },
    "G03": {
      "states": {
        "b0": {
          "page": "N49",
          "step": "b1"
        },
        "b1": {
          "page": "N51",
          "step": "b0"
        },
        "b2": {
          "page": "N50",
          "step": "b3"
        },
        "b3": {
          "page": "N51",
          "step": "b2"
        }
      }
    },
    "N01": {
      "states": {
        "b0": {
          "path": "pages/N01.html",
          "from": "AM18",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N01.html",
          "from": "AM01",
          "returnStep": "b1",
          "hash": "b1"
        }
      }
    },
    "N02": {
      "states": {
        "b0": {
          "path": "pages/N02.html",
          "from": "AM03",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N02.html",
          "from": "AM04",
          "returnStep": "b0",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N02.html",
          "from": "AM02",
          "returnStep": "b0",
          "hash": "b2"
        }
      }
    },
    "N03": {
      "states": {
        "b0": {
          "path": "pages/N03.html",
          "from": "AM04",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N03.html",
          "from": "AM04",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N03.html",
          "from": "AM03",
          "returnStep": "b1",
          "hash": "b2"
        }
      }
    },
    "N04": {
      "states": {
        "b0": {
          "path": "pages/N04.html",
          "from": "AM03",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N04.html",
          "from": "AM04",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N04.html",
          "from": "AM04",
          "returnStep": "b0",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/N04.html",
          "from": "AM05",
          "returnStep": "b0",
          "hash": "b3"
        }
      }
    },
    "N05": {
      "states": {
        "b0": {
          "path": "pages/N05.html",
          "from": "AM09",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N05.html",
          "from": "AM09",
          "returnStep": "b1",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N05.html",
          "from": "AM09",
          "returnStep": "b2",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/N05.html",
          "from": "AM10",
          "returnStep": "b0",
          "hash": "b3"
        }
      }
    },
    "N06": {
      "states": {
        "b0": {
          "path": "pages/N06.html",
          "from": "AM12",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N06.html",
          "from": "AM13",
          "returnStep": "b0",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N06.html",
          "from": "AM13",
          "returnStep": "b1",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/N06.html",
          "from": "AM13",
          "returnStep": "b2",
          "hash": "b3"
        }
      }
    },
    "N07": {
      "states": {
        "b0": {
          "path": "pages/N07.html",
          "from": "AM10",
          "returnStep": "b0",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N07.html",
          "from": "AM10",
          "returnStep": "b0",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N07.html",
          "from": "AM10",
          "returnStep": "b1",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/N07.html",
          "from": "AM10",
          "returnStep": "b2",
          "hash": "b3"
        }
      }
    },
    "N08": {
      "states": {
        "b0": {
          "path": "pages/N08.html",
          "from": "AM14",
          "returnStep": "b1",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N08.html",
          "from": "AM14",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N08.html",
          "from": "AM18",
          "returnStep": "b0",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/N08.html",
          "from": "AM14",
          "returnStep": "b2",
          "hash": "b3"
        }
      }
    },
    "N09": {
      "states": {
        "b0": {
          "path": "pages/N09.html",
          "from": "AM14",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N09.html",
          "from": "AM14",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N09.html",
          "from": "AM14",
          "returnStep": "b2",
          "hash": "b2"
        },
        "b3": {
          "path": "pages/N09.html",
          "from": "AM17",
          "returnStep": "b1",
          "hash": "b3"
        }
      }
    },
    "N10": {
      "states": {
        "b0": {
          "path": "pages/N10.html",
          "from": "AM17",
          "returnStep": "b2",
          "hash": "b0"
        },
        "b1": {
          "path": "pages/N10.html",
          "from": "AM17",
          "returnStep": "b2",
          "hash": "b1"
        },
        "b2": {
          "path": "pages/N10.html",
          "from": "AM18",
          "returnStep": "b1",
          "hash": "b2"
        }
      }
    },
    "B01": {
      "path": "index.html",
      "hash": "course-path"
    },
    "B02": {
      "path": "index.html",
      "hash": "course-path"
    }
  },
  "pages": [
    {
      "id": "O01",
      "title": "下载到的模型里，究竟有什么？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A01"
      ],
      "main": false,
      "url": "classroom/O01.html",
      "reading": "pages/O01.html"
    },
    {
      "id": "O02",
      "title": "从继续一段文字，到回应一个请求",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/O02.html",
      "reading": "pages/O02.html"
    },
    {
      "id": "P01",
      "title": "普通文本，怎样自己给出下一道题？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07"
      ],
      "main": false,
      "url": "classroom/P01.html",
      "reading": "pages/P01.html"
    },
    {
      "id": "P02",
      "title": "同一个预测目标，能遇到哪些关系？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07",
        "P03"
      ],
      "main": false,
      "url": "classroom/P02.html",
      "reading": "pages/P02.html"
    },
    {
      "id": "P03",
      "title": "有多少数据，不等于训练读了多少",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": false,
      "url": "classroom/P03.html",
      "reading": "pages/P03.html"
    },
    {
      "id": "P04",
      "title": "训练的收益，能带到另一项任务吗？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "P01"
      ],
      "main": false,
      "url": "classroom/P04.html",
      "reading": "pages/P04.html"
    },
    {
      "id": "P05",
      "title": "为什么一个单元既响应猫，也响应车？",
      "topic": "pretraining",
      "states": 5,
      "source_ids": [
        "B01"
      ],
      "main": false,
      "url": "classroom/P05.html",
      "reading": "pages/P05.html"
    },
    {
      "id": "P06",
      "title": "预测得更好，怎样变成回答得更合适？",
      "topic": "pretraining",
      "states": 2,
      "source_ids": [
        "A07",
        "A06"
      ],
      "main": false,
      "url": "classroom/P06.html",
      "reading": "pages/P06.html"
    },
    {
      "id": "H01",
      "title": "仍然预测 token，SFT 改了什么？",
      "topic": "posttraining",
      "states": 3,
      "source_ids": [
        "A06"
      ],
      "main": false,
      "url": "classroom/H01.html",
      "reading": "pages/H01.html"
    },
    {
      "id": "H02",
      "title": "先比较回答，再学习怎样评分",
      "topic": "posttraining",
      "states": 3,
      "source_ids": [
        "A06",
        "P04"
      ],
      "main": false,
      "url": "classroom/H02.html",
      "reading": "pages/H02.html"
    },
    {
      "id": "H03",
      "title": "分数怎样改变下一次生成？",
      "topic": "posttraining",
      "states": 4,
      "source_ids": [
        "A06",
        "P04"
      ],
      "main": false,
      "url": "classroom/H03.html",
      "reading": "pages/H03.html"
    },
    {
      "id": "H04",
      "title": "已有偏好对，可以直接优化",
      "topic": "posttraining",
      "states": 3,
      "source_ids": [
        "P05"
      ],
      "main": false,
      "url": "classroom/H04.html",
      "reading": "pages/H04.html"
    },
    {
      "id": "H05",
      "title": "让答案接受规则核对",
      "topic": "posttraining",
      "states": 4,
      "source_ids": [
        "P06"
      ],
      "main": false,
      "url": "classroom/H05.html",
      "reading": "pages/H05.html"
    },
    {
      "id": "L01",
      "title": "一条小旁路，怎样改变大矩阵？",
      "topic": "adaptation",
      "states": 4,
      "source_ids": [
        "A05",
        "A15",
        "P07"
      ],
      "main": false,
      "url": "classroom/L01.html",
      "reading": "pages/L01.html"
    },
    {
      "id": "L02",
      "title": "存成4-bit，不等于全程4-bit计算",
      "topic": "adaptation",
      "states": 3,
      "source_ids": [
        "A15",
        "P08"
      ],
      "main": false,
      "url": "classroom/L02.html",
      "reading": "pages/L02.html"
    },
    {
      "id": "S01",
      "title": "同一笔计算，分给模型还是数据？",
      "topic": "scaling",
      "states": 3,
      "source_ids": [
        "P09",
        "P10"
      ],
      "main": false,
      "url": "classroom/S01.html",
      "reading": "pages/S01.html"
    },
    {
      "id": "S02",
      "title": "同样的训练，横轴决定在问什么",
      "topic": "scaling",
      "states": 3,
      "source_ids": [
        "P09"
      ],
      "main": false,
      "url": "classroom/S02.html",
      "reading": "pages/S02.html"
    },
    {
      "id": "S03",
      "title": "固定计算，看模型与数据怎样分配",
      "topic": "scaling",
      "states": 4,
      "source_ids": [
        "P10"
      ],
      "main": false,
      "url": "classroom/S03.html",
      "reading": "pages/S03.html"
    },
    {
      "id": "S04",
      "title": "70B，为什么值得与280B比较？",
      "topic": "scaling",
      "states": 2,
      "source_ids": [
        "P10"
      ],
      "main": false,
      "url": "classroom/S04.html",
      "reading": "pages/S04.html"
    },
    {
      "id": "S05",
      "title": "模型还要被调用很多次",
      "topic": "scaling",
      "states": 2,
      "source_ids": [
        "P10"
      ],
      "main": false,
      "url": "classroom/S05.html",
      "reading": "pages/S05.html"
    },
    {
      "id": "E01",
      "title": "模型文件能放下，训练现场为什么放不下？",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": false,
      "url": "classroom/E01.html",
      "reading": "pages/E01.html"
    },
    {
      "id": "E02",
      "title": "四张卡，先分数据",
      "topic": "distributed-training",
      "states": 2,
      "source_ids": [
        "A22",
        "A23"
      ],
      "main": false,
      "url": "classroom/E02.html",
      "reading": "pages/E02.html"
    },
    {
      "id": "E03",
      "title": "把相同的状态分开保管",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": false,
      "url": "classroom/E03.html",
      "reading": "pages/E03.html"
    },
    {
      "id": "E04",
      "title": "ZeRO-3：省下副本之后，怎样算完一层？",
      "topic": "distributed-training",
      "states": 7,
      "source_ids": [
        "A19",
        "A22",
        "A23",
        "P11"
      ],
      "main": false,
      "url": "classroom/E04.html",
      "reading": "pages/E04.html"
    },
    {
      "id": "E05",
      "title": "一个大矩阵，也能由多卡合算",
      "topic": "distributed-training",
      "states": 1,
      "source_ids": [
        "A21",
        "A23"
      ],
      "main": false,
      "url": "classroom/E05.html",
      "reading": "pages/E05.html"
    },
    {
      "id": "E06",
      "title": "不同层排成流水线",
      "topic": "distributed-training",
      "states": 2,
      "source_ids": [
        "A21",
        "A23"
      ],
      "main": false,
      "url": "classroom/E06.html",
      "reading": "pages/E06.html"
    },
    {
      "id": "E07",
      "title": "注意力的大表，未必需要完整写回",
      "topic": "flashattention-moe",
      "states": 3,
      "source_ids": [
        "A16",
        "A24",
        "A26",
        "P12"
      ],
      "main": false,
      "url": "classroom/E07.html",
      "reading": "pages/E07.html"
    },
    {
      "id": "E08",
      "title": "分块以后，分子与分母一起走",
      "topic": "flashattention-moe",
      "states": 4,
      "source_ids": [
        "A16",
        "A24",
        "P12"
      ],
      "main": false,
      "url": "classroom/E08.html",
      "reading": "pages/E08.html"
    },
    {
      "id": "E09",
      "title": "反向需要中间量，就按块重算",
      "topic": "flashattention-moe",
      "states": 2,
      "source_ids": [
        "A16",
        "A24",
        "P12"
      ],
      "main": false,
      "url": "classroom/E09.html",
      "reading": "pages/E09.html"
    },
    {
      "id": "E10",
      "title": "参数很多，每次只激活一部分",
      "topic": "flashattention-moe",
      "states": 2,
      "source_ids": [
        "A20",
        "A08"
      ],
      "main": false,
      "url": "classroom/E10.html",
      "reading": "pages/E10.html"
    },
    {
      "id": "I01",
      "title": "放入一个已完成示例，接下来怎样续写？",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P03",
        "A07",
        "A05"
      ],
      "main": false,
      "url": "classroom/I01.html",
      "reading": "pages/I01.html"
    },
    {
      "id": "I02",
      "title": "先把“按内容读取”拆成一个小例子",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "B02",
        "P13"
      ],
      "main": false,
      "url": "classroom/I02.html",
      "reading": "pages/I02.html"
    },
    {
      "id": "I03",
      "title": "干扰来自其他也有相似度的内容",
      "topic": "context-memory",
      "states": 2,
      "source_ids": [
        "B02",
        "A04"
      ],
      "main": false,
      "url": "classroom/I03.html",
      "reading": "pages/I03.html"
    },
    {
      "id": "I04",
      "title": "让较强的匹配获得更多份量",
      "topic": "context-memory",
      "states": 2,
      "source_ids": [
        "B02",
        "A29"
      ],
      "main": false,
      "url": "classroom/I04.html",
      "reading": "pages/I04.html"
    },
    {
      "id": "I05",
      "title": "这次增加了输入，模型参数改了吗？",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "B02",
        "P13",
        "A04"
      ],
      "main": false,
      "url": "classroom/I05.html",
      "reading": "pages/I05.html"
    },
    {
      "id": "V01",
      "title": "读完输入，与逐步生成是两种节奏",
      "topic": "serving",
      "states": 2,
      "source_ids": [
        "A14",
        "A10"
      ],
      "main": false,
      "url": "classroom/V01.html",
      "reading": "pages/V01.html"
    },
    {
      "id": "V02",
      "title": "KV 不是比喻，是一张容量账本",
      "topic": "serving",
      "states": 3,
      "source_ids": [
        "A13",
        "A14"
      ],
      "main": false,
      "url": "classroom/V02.html",
      "reading": "pages/V02.html"
    },
    {
      "id": "V03",
      "title": "有人答完了，新请求为什么还在等？",
      "topic": "serving",
      "states": 3,
      "source_ids": [
        "A10",
        "A13",
        "A14"
      ],
      "main": false,
      "url": "classroom/V03.html",
      "reading": "pages/V03.html"
    },
    {
      "id": "V04",
      "title": "当前记忆，也要有地方放",
      "topic": "serving",
      "states": 3,
      "source_ids": [
        "A14"
      ],
      "main": false,
      "url": "classroom/V04.html",
      "reading": "pages/V04.html"
    },
    {
      "id": "V05",
      "title": "完全相同的前缀，只留一份",
      "topic": "serving",
      "states": 3,
      "source_ids": [
        "A13",
        "A14",
        "W01",
        "W02"
      ],
      "main": false,
      "url": "classroom/V05.html",
      "reading": "pages/V05.html"
    },
    {
      "id": "V06",
      "title": "长输入与持续出字，可以分开组织",
      "topic": "serving",
      "states": 3,
      "source_ids": [
        "A08",
        "A10",
        "A11",
        "A12",
        "W03",
        "W04"
      ],
      "main": false,
      "url": "classroom/V06.html",
      "reading": "pages/V06.html"
    },
    {
      "id": "V07",
      "title": "生成引擎，也影响训练成本",
      "topic": "serving",
      "states": 1,
      "source_ids": [
        "P04",
        "P06",
        "A09"
      ],
      "main": false,
      "url": "classroom/V07.html",
      "reading": "pages/V07.html"
    },
    {
      "id": "C01",
      "title": "回到同一个请求，能力怎样成为回答？",
      "topic": "context-memory",
      "states": 5,
      "source_ids": [
        "P03",
        "P13",
        "P11"
      ],
      "main": false,
      "url": "classroom/C01.html",
      "reading": "pages/C01.html"
    },
    {
      "id": "M01",
      "title": "同一套 Transformer，怎样承载更多经验？",
      "topic": "context-memory",
      "states": 2,
      "source_ids": [
        "P13",
        "B02"
      ],
      "main": false,
      "url": "classroom/M01.html",
      "reading": "pages/M01.html"
    },
    {
      "id": "M02",
      "title": "查询 A，为什么 B 和 C 也跟了进来？",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "B02"
      ],
      "main": false,
      "url": "classroom/M02.html",
      "reading": "pages/M02.html"
    },
    {
      "id": "M03",
      "title": "怎样让这次读取更有选择？",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [
        "B02"
      ],
      "main": false,
      "url": "classroom/M03.html",
      "reading": "pages/M03.html"
    },
    {
      "id": "M04",
      "title": "训练留下的，与这次读到的，有什么不同？",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P13",
        "B02"
      ],
      "main": false,
      "url": "classroom/M04.html",
      "reading": "pages/M04.html"
    },
    {
      "id": "Q01",
      "title": "已知的一整段输入，怎样一起计算？",
      "topic": "flashattention-moe",
      "states": 3,
      "source_ids": [
        "A04"
      ],
      "main": false,
      "url": "classroom/Q01.html",
      "reading": "pages/Q01.html"
    },
    {
      "id": "Q02",
      "title": "序列变长，多出来的成本在哪里？",
      "topic": "flashattention-moe",
      "states": 3,
      "source_ids": [
        "P11"
      ],
      "main": false,
      "url": "classroom/Q02.html",
      "reading": "pages/Q02.html"
    },
    {
      "id": "P07",
      "title": "只换 big 与 small，指代为什么就变了？",
      "topic": "pretraining",
      "states": 5,
      "source_ids": [],
      "main": false,
      "url": "classroom/P07.html",
      "reading": "pages/P07.html"
    },
    {
      "id": "X01",
      "title": "图像也能成为输入序列",
      "topic": "vision-scaling",
      "states": 2,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/X01.html",
      "reading": "pages/X01.html"
    },
    {
      "id": "X02",
      "title": "小数据上的赢家，扩大训练后还一样吗？",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_VIT",
        "VISION_CONVNEXT"
      ],
      "main": false,
      "url": "classroom/X02.html",
      "reading": "pages/X02.html"
    },
    {
      "id": "X03",
      "title": "谁给这么多图像出训练题？",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/X03.html",
      "reading": "pages/X03.html"
    },
    {
      "id": "X04",
      "title": "更大的模型，需要能用好它的任务",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/X04.html",
      "reading": "pages/X04.html"
    },
    {
      "id": "G02",
      "title": "四张卡，怎样少保存重复的训练状态？",
      "topic": "distributed-training",
      "states": 4,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": false,
      "url": "classroom/G02.html",
      "reading": "pages/G02.html"
    },
    {
      "id": "G03",
      "title": "注意力的大表，可以少搬几次吗？",
      "topic": "flashattention-moe",
      "states": 4,
      "source_ids": [
        "A16",
        "A24",
        "A26",
        "P12"
      ],
      "main": false,
      "url": "classroom/G03.html",
      "reading": "pages/G03.html"
    },
    {
      "id": "N01",
      "title": "同一套 Transformer，怎样用上更多经验？",
      "topic": "context-memory",
      "states": 2,
      "source_ids": [],
      "main": false,
      "url": "classroom/N01.html",
      "reading": "pages/N01.html"
    },
    {
      "id": "N02",
      "title": "先说清楚：用什么找，想拿回什么？",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/N02.html",
      "reading": "pages/N02.html"
    },
    {
      "id": "N03",
      "title": "一次匹配，怎样变成一份内容？",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/N03.html",
      "reading": "pages/N03.html"
    },
    {
      "id": "N04",
      "title": "装进三条以后，为什么读回了不止 A？",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N04.html",
      "reading": "pages/N04.html"
    },
    {
      "id": "N05",
      "title": "把弱响应压下去，读出会怎样变？",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N05.html",
      "reading": "pages/N05.html"
    },
    {
      "id": "N06",
      "title": "attention 怎样把同一组分数变成权重？",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N06.html",
      "reading": "pages/N06.html"
    },
    {
      "id": "N07",
      "title": "把三张卡收回 MLP：哪些东西由训练留下？",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N07.html",
      "reading": "pages/N07.html"
    },
    {
      "id": "N08",
      "title": "attention 读取的内容，是这次输入算出来的",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N08.html",
      "reading": "pages/N08.html"
    },
    {
      "id": "N09",
      "title": "这个请求结束以后，什么会留下？",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N09.html",
      "reading": "pages/N09.html"
    },
    {
      "id": "N10",
      "title": "结构有潜力，还要看到扩大训练的结果",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N10.html",
      "reading": "pages/N10.html"
    },
    {
      "id": "N11",
      "title": "把一张图变成一串可以计算的向量",
      "topic": "vision-scaling",
      "states": 4,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N11.html",
      "reading": "pages/N11.html"
    },
    {
      "id": "N12",
      "title": "这张图比较的，究竟是哪一次训练？",
      "topic": "vision-scaling",
      "states": 4,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N12.html",
      "reading": "pages/N12.html"
    },
    {
      "id": "N13",
      "title": "在这个条件下，做大 ViT 没有换来更好成绩",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N13.html",
      "reading": "pages/N13.html"
    },
    {
      "id": "N14",
      "title": "扩大训练以后，同一对模型的排序变了",
      "topic": "vision-scaling",
      "states": 4,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N14.html",
      "reading": "pages/N14.html"
    },
    {
      "id": "N15",
      "title": "只看这些碎片，模型要补回什么？",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N15.html",
      "reading": "pages/N15.html"
    },
    {
      "id": "N16",
      "title": "重建可以不完美，监督却可以很明确",
      "topic": "vision-scaling",
      "states": 4,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N16.html",
      "reading": "pages/N16.html"
    },
    {
      "id": "N17",
      "title": "训练时补图，之后拿走的是哪一部分？",
      "topic": "vision-scaling",
      "states": 4,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N17.html",
      "reading": "pages/N17.html"
    },
    {
      "id": "N18",
      "title": "先立参照：同一批训练图片，从头训练能做到什么？",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N18.html",
      "reading": "pages/N18.html"
    },
    {
      "id": "N19",
      "title": "先学重建，再做分类，大模型的收益更明显",
      "topic": "vision-scaling",
      "states": 4,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": false,
      "url": "classroom/N19.html",
      "reading": "pages/N19.html"
    },
    {
      "id": "N20",
      "title": "同一组已知输入，可以一起做哪些运算？",
      "topic": "distributed-training",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N20.html",
      "reading": "pages/N20.html"
    },
    {
      "id": "N21",
      "title": "整段在手，不等于每一行都能偷看答案",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/N21.html",
      "reading": "pages/N21.html"
    },
    {
      "id": "N22",
      "title": "长度翻倍，哪一块工作会接近四倍？",
      "topic": "flashattention-moe",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N22.html",
      "reading": "pages/N22.html"
    },
    {
      "id": "N23",
      "title": "算得快之外，还要装得下、搬得动",
      "topic": "flashattention-moe",
      "states": 4,
      "source_ids": [],
      "main": false,
      "url": "classroom/N23.html",
      "reading": "pages/N23.html"
    },
    {
      "id": "N24",
      "title": "这段普通实验记录，怎样自己产生训练题？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07"
      ],
      "main": false,
      "url": "classroom/N24.html",
      "reading": "pages/N24.html"
    },
    {
      "id": "N25",
      "title": "同一段文字，给每个位置一个后续目标",
      "topic": "pretraining",
      "states": 4,
      "source_ids": [
        "A07"
      ],
      "main": false,
      "url": "classroom/N25.html",
      "reading": "pages/N25.html"
    },
    {
      "id": "N26",
      "title": "把真实后词的概率，变成一次参数更新",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07"
      ],
      "main": false,
      "url": "classroom/N26.html",
      "reading": "pages/N26.html"
    },
    {
      "id": "N27",
      "title": "“太大”的到底是哪一个？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07"
      ],
      "main": false,
      "url": "classroom/N27.html",
      "reading": "pages/N27.html"
    },
    {
      "id": "N28",
      "title": "只把 big 换成 small，解释为什么反过来？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07"
      ],
      "main": false,
      "url": "classroom/N28.html",
      "reading": "pages/N28.html"
    },
    {
      "id": "N29",
      "title": "翻译时，这一句、这个前缀和过去训练各提供什么？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07"
      ],
      "main": false,
      "url": "classroom/N29.html",
      "reading": "pages/N29.html"
    },
    {
      "id": "N30",
      "title": "目标相同，材料让模型反复遇见的关系不同",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": false,
      "url": "classroom/N30.html",
      "reading": "pages/N30.html"
    },
    {
      "id": "N31",
      "title": "先看任务：这条结论能从前提推出吗？",
      "topic": "pretraining",
      "states": 4,
      "source_ids": [
        "A07"
      ],
      "main": false,
      "url": "classroom/N31.html",
      "reading": "pages/N31.html"
    },
    {
      "id": "N32",
      "title": "预训练之后，能否把所得用于另一项任务？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "P01"
      ],
      "main": false,
      "url": "classroom/N32.html",
      "reading": "pages/N32.html"
    },
    {
      "id": "N33",
      "title": "参数先不动：给一个完整任务示例",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": false,
      "url": "classroom/N33.html",
      "reading": "pages/N33.html"
    },
    {
      "id": "N34",
      "title": "固定的是 W，改变的是这次进入计算的 X",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [
        "P03"
      ],
      "main": false,
      "url": "classroom/N34.html",
      "reading": "pages/N34.html"
    },
    {
      "id": "N35",
      "title": "示例的作用，要在完整翻译任务上看",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": false,
      "url": "classroom/N35.html",
      "reading": "pages/N35.html"
    },
    {
      "id": "N36",
      "title": "给同一份 AB 记录加一个示例，会教清什么？",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": false,
      "url": "classroom/N36.html",
      "reading": "pages/N36.html"
    },
    {
      "id": "N37",
      "title": "同样继续写 token，可以是在续文档，也可以是在回答",
      "topic": "posttraining",
      "states": 3,
      "source_ids": [
        "A06"
      ],
      "main": false,
      "url": "classroom/N37.html",
      "reading": "pages/N37.html"
    },
    {
      "id": "N38",
      "title": "把刚才的请求和回答，变成一条 SFT 样本",
      "topic": "posttraining",
      "states": 3,
      "source_ids": [
        "A06"
      ],
      "main": false,
      "url": "classroom/N38.html",
      "reading": "pages/N38.html"
    },
    {
      "id": "N39",
      "title": "输入不直接计分，为什么仍然必须计算？",
      "topic": "posttraining",
      "states": 4,
      "source_ids": [
        "A06"
      ],
      "main": false,
      "url": "classroom/N39.html",
      "reading": "pages/N39.html"
    },
    {
      "id": "N40",
      "title": "换一份材料，检验留下的是行为还是旧答案",
      "topic": "posttraining",
      "states": 4,
      "source_ids": [
        "A06"
      ],
      "main": false,
      "url": "classroom/N40.html",
      "reading": "pages/N40.html"
    },
    {
      "id": "N41",
      "title": "同一笔计算，怎样分给模型和材料？",
      "topic": "scaling",
      "states": 5,
      "source_ids": [
        "P09",
        "P10"
      ],
      "main": false,
      "url": "classroom/N41.html",
      "reading": "pages/N41.html"
    },
    {
      "id": "N42",
      "title": "模型翻倍，剩下的训练量减半",
      "topic": "scaling",
      "states": 3,
      "source_ids": [
        "P10"
      ],
      "main": false,
      "url": "classroom/N42.html",
      "reading": "pages/N42.html"
    },
    {
      "id": "N43",
      "title": "谷底随预算移动，不能只追求参数更多",
      "topic": "scaling",
      "states": 5,
      "source_ids": [
        "P10"
      ],
      "main": false,
      "url": "classroom/N43.html",
      "reading": "pages/N43.html"
    },
    {
      "id": "N44",
      "title": "一次更新，为什么不只需要模型权重？",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": false,
      "url": "classroom/N44.html",
      "reading": "pages/N44.html"
    },
    {
      "id": "N45",
      "title": "16 GB 的模型，训练状态可以是 128 GB",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": false,
      "url": "classroom/N45.html",
      "reading": "pages/N45.html"
    },
    {
      "id": "N46",
      "title": "四张卡分担数据，为什么仍各存一份？",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": false,
      "url": "classroom/N46.html",
      "reading": "pages/N46.html"
    },
    {
      "id": "N47",
      "title": "长期分片保存，轮到一层再临时取齐",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": false,
      "url": "classroom/N47.html",
      "reading": "pages/N47.html"
    },
    {
      "id": "N48",
      "title": "分开保管，也能共同更新同一个模型",
      "topic": "distributed-training",
      "states": 4,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": false,
      "url": "classroom/N48.html",
      "reading": "pages/N48.html"
    },
    {
      "id": "N49",
      "title": "同一张注意力大表，为什么要搬来搬去？",
      "topic": "flashattention-moe",
      "states": 3,
      "source_ids": [
        "A16",
        "A24",
        "A26",
        "P12"
      ],
      "main": false,
      "url": "classroom/N49.html",
      "reading": "pages/N49.html"
    },
    {
      "id": "N50",
      "title": "分块以后，分子和分母都要一起接着算",
      "topic": "flashattention-moe",
      "states": 4,
      "source_ids": [
        "A16",
        "A24",
        "A26",
        "P12"
      ],
      "main": false,
      "url": "classroom/N50.html",
      "reading": "pages/N50.html"
    },
    {
      "id": "N51",
      "title": "全部块走完，写回的是同一个注意力输出",
      "topic": "flashattention-moe",
      "states": 4,
      "source_ids": [
        "A16",
        "A24",
        "A26",
        "P12"
      ],
      "main": false,
      "url": "classroom/N51.html",
      "reading": "pages/N51.html"
    },
    {
      "id": "N52",
      "title": "训练结束后，这一次请求从哪里开始？",
      "topic": "serving",
      "states": 3,
      "source_ids": [
        "A14",
        "A10"
      ],
      "main": false,
      "url": "classroom/N52.html",
      "reading": "pages/N52.html"
    },
    {
      "id": "N53",
      "title": "新 token 读取旧 K/V，再把自己的 K/V 留下来",
      "topic": "serving",
      "states": 4,
      "source_ids": [
        "A14",
        "A10"
      ],
      "main": false,
      "url": "classroom/N53.html",
      "reading": "pages/N53.html"
    },
    {
      "id": "N54",
      "title": "一个请求的当前记忆，可以占到多少空间？",
      "topic": "serving",
      "states": 4,
      "source_ids": [
        "A14",
        "A10"
      ],
      "main": false,
      "url": "classroom/N54.html",
      "reading": "pages/N54.html"
    },
    {
      "id": "N55",
      "title": "逻辑上连续，物理上可以按块长出来",
      "topic": "serving",
      "states": 4,
      "source_ids": [
        "A14"
      ],
      "main": false,
      "url": "classroom/N55.html",
      "reading": "pages/N55.html"
    },
    {
      "id": "N56",
      "title": "相同前缀，可以接出两条不同的后续",
      "topic": "serving",
      "states": 4,
      "source_ids": [
        "A13",
        "A14",
        "W01",
        "W02"
      ],
      "main": false,
      "url": "classroom/N56.html",
      "reading": "pages/N56.html"
    },
    {
      "id": "N57",
      "title": "A 已经答完，C 为什么还在等待？",
      "topic": "serving",
      "states": 3,
      "source_ids": [
        "A10",
        "A13",
        "A14"
      ],
      "main": false,
      "url": "classroom/N57.html",
      "reading": "pages/N57.html"
    },
    {
      "id": "N58",
      "title": "每轮接纳新请求，把空出来的机会用上",
      "topic": "serving",
      "states": 4,
      "source_ids": [
        "A10",
        "A13",
        "A14"
      ],
      "main": false,
      "url": "classroom/N58.html",
      "reading": "pages/N58.html"
    },
    {
      "id": "N59",
      "title": "输入很长、输出很长、人很多，是三种不同压力",
      "topic": "serving",
      "states": 4,
      "source_ids": [
        "A08",
        "A10",
        "A11",
        "A12",
        "W03",
        "W04"
      ],
      "main": false,
      "url": "classroom/N59.html",
      "reading": "pages/N59.html"
    },
    {
      "id": "N60",
      "title": "生成候选，又会成为下一轮训练的材料",
      "topic": "serving",
      "states": 4,
      "source_ids": [
        "P04",
        "P06",
        "A09"
      ],
      "main": false,
      "url": "classroom/N60.html",
      "reading": "pages/N60.html"
    },
    {
      "id": "N61",
      "title": "这一次回答，哪些内容从哪里来？",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [
        "P03",
        "P04",
        "P11",
        "P12"
      ],
      "main": false,
      "url": "classroom/N61.html",
      "reading": "pages/N61.html"
    },
    {
      "id": "N62",
      "title": "多了一项测量，结论应当怎样改变？",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [
        "P03",
        "P04"
      ],
      "main": false,
      "url": "classroom/N62.html",
      "reading": "pages/N62.html"
    },
    {
      "id": "AM01",
      "title": "模型要用上更多知识，先要能承载、能读取",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM01.html",
      "reading": "pages/AM01.html"
    },
    {
      "id": "AM02",
      "title": "写进去了，还要在需要时读得回来",
      "topic": "memory-capacity",
      "states": 5,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM02.html",
      "reading": "pages/AM02.html"
    },
    {
      "id": "AM03",
      "title": "先写入两组“线索—内容”",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM03.html",
      "reading": "pages/AM03.html"
    },
    {
      "id": "AM04",
      "title": "读A时，为什么B也会出来？",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM04.html",
      "reading": "pages/AM04.html"
    },
    {
      "id": "AM05",
      "title": "条目越多，干扰怎样累积？",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM05.html",
      "reading": "pages/AM05.html"
    },
    {
      "id": "AM06",
      "title": "能改的地方有三个",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM06.html",
      "reading": "pages/AM06.html"
    },
    {
      "id": "AM07",
      "title": "同样一个线性层，可以把两条都读对",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM07.html",
      "reading": "pages/AM07.html"
    },
    {
      "id": "AM08",
      "title": "最优线性写入能延后干扰，仍然有边界",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM08.html",
      "reading": "pages/AM08.html"
    },
    {
      "id": "AM09",
      "title": "弱匹配经过非线性，能少贡献一些",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM09.html",
      "reading": "pages/AM09.html"
    },
    {
      "id": "AM10",
      "title": "比较线索、调节响应、汇总内容：认出MLP",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM10.html",
      "reading": "pages/AM10.html"
    },
    {
      "id": "AM11",
      "title": "改变响应函数，容量曲线为什么会移动？",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM11.html",
      "reading": "pages/AM11.html"
    },
    {
      "id": "AM12",
      "title": "指数怎样拉开强匹配和弱匹配？",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM12.html",
      "reading": "pages/AM12.html"
    },
    {
      "id": "AM13",
      "title": "归一化以后，就是熟悉的softmax读取",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM13.html",
      "reading": "pages/AM13.html"
    },
    {
      "id": "AM14",
      "title": "有的关联在参数里，有的条目来自这次输入",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM14.html",
      "reading": "pages/AM14.html"
    },
    {
      "id": "AM15",
      "title": "注意力的检索容量，要连同实验条件一起读",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM15.html",
      "reading": "pages/AM15.html"
    },
    {
      "id": "AM16",
      "title": "上下文变长，读取的锐度也值得重新考虑",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM16.html",
      "reading": "pages/AM16.html"
    },
    {
      "id": "AM17",
      "title": "有承载机制，还要把知识学进去",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM17.html",
      "reading": "pages/AM17.html"
    },
    {
      "id": "AM18",
      "title": "机制说得通以后，去视觉实验中看结果",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [],
      "main": false,
      "url": "classroom/AM18.html",
      "reading": "pages/AM18.html"
    },
    {
      "id": "GF01",
      "title": "分数提高了，内部究竟学出了什么？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF01.html",
      "reading": "pages/GF01.html"
    },
    {
      "id": "GF02",
      "title": "猫和汽车，为什么会出现在一起？",
      "topic": "goodfire-internals",
      "states": 2,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF02.html",
      "reading": "pages/GF02.html"
    },
    {
      "id": "GF03",
      "title": "全图类别不同，局部结构可能相通",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF03.html",
      "reading": "pages/GF03.html"
    },
    {
      "id": "GF04",
      "title": "一个解释，要同时接住输入、读出与反方向",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF04.html",
      "reading": "pages/GF04.html"
    },
    {
      "id": "GF05",
      "title": "汽车为什么会经过看起来像“狗”的单元？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF05.html",
      "reading": "pages/GF05.html"
    },
    {
      "id": "GF06",
      "title": "模型更大，共享的姿态一定会被拆开吗？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF06.html",
      "reading": "pages/GF06.html"
    },
    {
      "id": "GF07",
      "title": "同一个神经元，换显微镜会看到什么？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF07.html",
      "reading": "pages/GF07.html"
    },
    {
      "id": "GF08",
      "title": "工具改进之外，网络本身也会影响观察",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF08.html",
      "reading": "pages/GF08.html"
    },
    {
      "id": "GF09",
      "title": "混合不是只看终点：沿训练看它怎样长出来",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF09.html",
      "reading": "pages/GF09.html"
    },
    {
      "id": "GF10",
      "title": "这里争论的是“为什么共享”，不是“能表示多少”",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF10.html",
      "reading": "pages/GF10.html"
    },
    {
      "id": "GF11",
      "title": "神经元在放行什么，又挡住什么？",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF11.html",
      "reading": "pages/GF11.html"
    },
    {
      "id": "GF12",
      "title": "规模变了，区分的粒度也变了吗？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF12.html",
      "reading": "pages/GF12.html"
    },
    {
      "id": "GF13",
      "title": "把一层从 480 个通道压到 10 个，会怎样？",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF13.html",
      "reading": "pages/GF13.html"
    },
    {
      "id": "GF14",
      "title": "没找回细曲线，究竟说明了什么？",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF14.html",
      "reading": "pages/GF14.html"
    },
    {
      "id": "GF14A",
      "title": "如果把瓶颈放到最后一层呢？",
      "topic": "goodfire-internals",
      "states": 2,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF14A.html",
      "reading": "pages/GF14A.html"
    },
    {
      "id": "GF15",
      "title": "从石墙、屋顶，走到修道院响应",
      "topic": "goodfire-internals",
      "states": 5,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF15.html",
      "reading": "pages/GF15.html"
    },
    {
      "id": "GF16",
      "title": "换成 SAE 字典，会多看见什么？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF16.html",
      "reading": "pages/GF16.html"
    },
    {
      "id": "GF17",
      "title": "罕见、看错与故意教错，是同一回事吗？",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF17.html",
      "reading": "pages/GF17.html"
    },
    {
      "id": "GF18",
      "title": "删掉弱响应，丢的是哪种信息？",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF18.html",
      "reading": "pages/GF18.html"
    },
    {
      "id": "GF19",
      "title": "同样的追踪方法，能沿一句话找到答案的来路吗？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF19.html",
      "reading": "pages/GF19.html"
    },
    {
      "id": "GF20",
      "title": "一个神经元的负侧，可能藏着真正的工作",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF20.html",
      "reading": "pages/GF20.html"
    },
    {
      "id": "GF21",
      "title": "名字很多，是否就必须打包进隐蔽空间？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF21.html",
      "reading": "pages/GF21.html"
    },
    {
      "id": "GF22",
      "title": "模型更大以后：一张选例图能告诉我们多远？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF22.html",
      "reading": "pages/GF22.html"
    },
    {
      "id": "GF23",
      "title": "先写下解释，再让没见过原例的一方找新输入",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF23.html",
      "reading": "pages/GF23.html"
    },
    {
      "id": "GF24",
      "title": "看起来很像，却缺了关键条件：解释还成立吗？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF24.html",
      "reading": "pages/GF24.html"
    },
    {
      "id": "GF25",
      "title": "“约九成可解释”，分母究竟是什么？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF25.html",
      "reading": "pages/GF25.html"
    },
    {
      "id": "GF26",
      "title": "残差流：轨迹图怎样才有解释力？",
      "topic": "goodfire-internals",
      "states": 5,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF26.html",
      "reading": "pages/GF26.html"
    },
    {
      "id": "GF27",
      "title": "Attention：看哪里，还要问搬了什么",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF27.html",
      "reading": "pages/GF27.html"
    },
    {
      "id": "GF28",
      "title": "规模变大：同一耳朵家族怎样细化？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF28.html",
      "reading": "pages/GF28.html"
    },
    {
      "id": "GF29",
      "title": "地图要落到同一个真实节点",
      "topic": "goodfire-internals",
      "states": 4,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF29.html",
      "reading": "pages/GF29.html"
    },
    {
      "id": "GF30",
      "title": "把尚未解释的例子留在桌面上",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF30.html",
      "reading": "pages/GF30.html"
    },
    {
      "id": "GF31",
      "title": "从可解释案例，走向可执行研究",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF31.html",
      "reading": "pages/GF31.html"
    },
    {
      "id": "GF32",
      "title": "回到 MAE：表示怎样落成一轮计算？",
      "topic": "goodfire-internals",
      "states": 2,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": false,
      "url": "classroom/GF32.html",
      "reading": "pages/GF32.html"
    },
    {
      "id": "OV01",
      "title": "Transformer 搭起来了，能力还需要怎样解释？",
      "topic": "pretraining",
      "states": 1,
      "source_ids": [],
      "main": true,
      "url": "classroom/OV01.html",
      "reading": "pages/OV01.html"
    },
    {
      "id": "OV02",
      "title": "预训练、后续适配与使用，分别在改变什么？",
      "topic": "pretraining",
      "states": 1,
      "source_ids": [
        "P03",
        "P15"
      ],
      "main": true,
      "url": "classroom/OV02.html",
      "reading": "pages/OV02.html"
    },
    {
      "id": "OV03",
      "title": "预测下一个词，或恢复遮住的内容",
      "topic": "pretraining",
      "states": 1,
      "source_ids": [
        "P15"
      ],
      "main": true,
      "url": "classroom/OV03.html",
      "reading": "pages/OV03.html"
    },
    {
      "id": "OV04",
      "title": "Scaling Law 让我们看见投入与效果的关系",
      "topic": "scaling",
      "states": 1,
      "source_ids": [
        "P09",
        "P10"
      ],
      "main": true,
      "url": "classroom/OV04.html",
      "reading": "pages/OV04.html"
    },
    {
      "id": "OV05",
      "title": "给几个例子，模型这一次改变了什么？",
      "topic": "context-memory",
      "states": 1,
      "source_ids": [
        "P03"
      ],
      "main": true,
      "url": "classroom/OV05.html",
      "reading": "pages/OV05.html"
    },
    {
      "id": "OV06",
      "title": "“预测与压缩”的直觉，还留下什么问题？",
      "topic": "pretraining",
      "states": 1,
      "source_ids": [],
      "main": true,
      "url": "classroom/OV06.html",
      "reading": "pages/OV06.html"
    },
    {
      "id": "OV07",
      "title": "第一问：写进去之后，怎样还能读回来？",
      "topic": "memory-capacity",
      "states": 1,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/OV07.html",
      "reading": "pages/OV07.html"
    },
    {
      "id": "OV08",
      "title": "第二问：它学到了什么，怎样才算有证据？",
      "topic": "goodfire-internals",
      "states": 1,
      "source_ids": [
        "VISION_MAE",
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/OV08.html",
      "reading": "pages/OV08.html"
    },
    {
      "id": "OV09",
      "title": "第三问：算式成立，机器怎样把它算完？",
      "topic": "distributed-training",
      "states": 1,
      "source_ids": [],
      "main": true,
      "url": "classroom/OV09.html",
      "reading": "pages/OV09.html"
    },
    {
      "id": "OV10",
      "title": "先看清承载与证据，再回到文本训练",
      "topic": "memory-capacity",
      "states": 1,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/OV10.html",
      "reading": "pages/OV10.html"
    },
    {
      "id": "AR01",
      "title": "写进去了，为什么还可能用不上？",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR01.html",
      "reading": "pages/AR01.html"
    },
    {
      "id": "AR02",
      "title": "读 A 时，为什么 B 也出来了？",
      "topic": "memory-capacity",
      "states": 5,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR02.html",
      "reading": "pages/AR02.html"
    },
    {
      "id": "AR03",
      "title": "可以扩大空间，也可以改写入和读取",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR03.html",
      "reading": "pages/AR03.html"
    },
    {
      "id": "AR04",
      "title": "同样大小的 W，可以把两条都读对",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR04.html",
      "reading": "pages/AR04.html"
    },
    {
      "id": "AR05",
      "title": "让弱匹配在汇总前少出力",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR05.html",
      "reading": "pages/AR05.html"
    },
    {
      "id": "AR06",
      "title": "从已经发生的运算中，认出 MLP",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [
        "B02",
        "P13"
      ],
      "main": true,
      "url": "classroom/AR06.html",
      "reading": "pages/AR06.html"
    },
    {
      "id": "AR07",
      "title": "指数拉开比例，softmax给出分配",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR07.html",
      "reading": "pages/AR07.html"
    },
    {
      "id": "AR08",
      "title": "同一实验里，读取规则改变了多少？",
      "topic": "memory-capacity",
      "states": 2,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR08.html",
      "reading": "pages/AR08.html"
    },
    {
      "id": "AR09",
      "title": "参数没变，这次可读的内容可以变",
      "topic": "memory-capacity",
      "states": 3,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR09.html",
      "reading": "pages/AR09.html"
    },
    {
      "id": "AR10",
      "title": "把结构上的可能性，交给真实训练检验",
      "topic": "memory-capacity",
      "states": 2,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/AR10.html",
      "reading": "pages/AR10.html"
    },
    {
      "id": "VR01",
      "title": "同一张照片，改变进入模型的方式",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_VIT",
        "VISION_MAE"
      ],
      "main": true,
      "url": "classroom/VR01.html",
      "reading": "pages/VR01.html"
    },
    {
      "id": "VR02",
      "title": "训练条件改变，同一对模型的排序也改变",
      "topic": "vision-scaling",
      "states": 4,
      "source_ids": [
        "VISION_VIT"
      ],
      "main": true,
      "url": "classroom/VR02.html",
      "reading": "pages/VR02.html"
    },
    {
      "id": "VR03",
      "title": "模型预测在这里，目标也在这里",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_MAE"
      ],
      "main": true,
      "url": "classroom/VR03.html",
      "reading": "pages/VR03.html"
    },
    {
      "id": "VR04",
      "title": "误差更新参数，训练后的表示再转用",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_MAE"
      ],
      "main": true,
      "url": "classroom/VR04.html",
      "reading": "pages/VR04.html"
    },
    {
      "id": "VR05",
      "title": "同模型的收益，要连同额外训练一起读",
      "topic": "vision-scaling",
      "states": 3,
      "source_ids": [
        "VISION_MAE"
      ],
      "main": true,
      "url": "classroom/VR05.html",
      "reading": "pages/VR05.html"
    },
    {
      "id": "VR06",
      "title": "分数之外，网络内部在区分什么？",
      "topic": "goodfire-internals",
      "states": 2,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/VR06.html",
      "reading": "pages/VR06.html"
    },
    {
      "id": "RG02",
      "title": "猫和汽车，为什么会出现在一起？",
      "topic": "goodfire-internals",
      "states": 2,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG02.html",
      "reading": "pages/RG02.html"
    },
    {
      "id": "RG03",
      "title": "全图类别不同，局部结构可能相通",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG03.html",
      "reading": "pages/RG03.html"
    },
    {
      "id": "RG04",
      "title": "一个解释，能否接住两侧与两端？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG04.html",
      "reading": "pages/RG04.html"
    },
    {
      "id": "RG09",
      "title": "混合不是只看终点：沿训练看它怎样长出来",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG09.html",
      "reading": "pages/RG09.html"
    },
    {
      "id": "RG10",
      "title": "能承载多少，与为什么共享",
      "topic": "goodfire-internals",
      "states": 1,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG10.html",
      "reading": "pages/RG10.html"
    },
    {
      "id": "RG19",
      "title": "从一段文字，追到一个下一词",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG19.html",
      "reading": "pages/RG19.html"
    },
    {
      "id": "RG23",
      "title": "把解释交出去，再测一个新输入",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG23.html",
      "reading": "pages/RG23.html"
    },
    {
      "id": "RG24",
      "title": "句子很像，关系还一样吗？",
      "topic": "goodfire-internals",
      "states": 3,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG24.html",
      "reading": "pages/RG24.html"
    },
    {
      "id": "RG25",
      "title": "“约九成”，究竟解释了什么？",
      "topic": "goodfire-internals",
      "states": 1,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG25.html",
      "reading": "pages/RG25.html"
    },
    {
      "id": "RG30",
      "title": "把尚未解释的例子留在桌面上",
      "topic": "goodfire-internals",
      "states": 2,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG30.html",
      "reading": "pages/RG30.html"
    },
    {
      "id": "RG32",
      "title": "回到 MAE：表示怎样落成一轮计算？",
      "topic": "goodfire-internals",
      "states": 2,
      "source_ids": [
        "VISION_MAE",
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/RG32.html",
      "reading": "pages/RG32.html"
    },
    {
      "id": "RC-H1",
      "title": "同一组表示，怎样变成可执行的运算？",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [],
      "main": true,
      "url": "classroom/RC-H1.html",
      "reading": "pages/RC-H1.html"
    },
    {
      "id": "RC-H2",
      "title": "一起计算，不等于工作量不再增长",
      "topic": "flashattention-moe",
      "states": 3,
      "source_ids": [],
      "main": true,
      "url": "classroom/RC-H2.html",
      "reading": "pages/RC-H2.html"
    },
    {
      "id": "RC-H3",
      "title": "算得完、装得下、搬得动",
      "topic": "flashattention-moe",
      "states": 3,
      "source_ids": [],
      "main": true,
      "url": "classroom/RC-H3.html",
      "reading": "pages/RC-H3.html"
    },
    {
      "id": "RC-P1",
      "title": "普通记录，怎样自己产生训练题？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07"
      ],
      "main": true,
      "url": "classroom/RC-P1.html",
      "reading": "pages/RC-P1.html"
    },
    {
      "id": "RC-P2",
      "title": "一组参数，面对一排前缀与目标",
      "topic": "pretraining",
      "states": 4,
      "source_ids": [
        "A07"
      ],
      "main": true,
      "url": "classroom/RC-P2.html",
      "reading": "pages/RC-P2.html"
    },
    {
      "id": "RC-P3",
      "title": "把后词概率，变成一次参数更新",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "A07"
      ],
      "main": true,
      "url": "classroom/RC-P3.html",
      "reading": "pages/RC-P3.html"
    },
    {
      "id": "RC-P4",
      "title": "只改一个词，关系判断为什么反过来？",
      "topic": "pretraining",
      "states": 4,
      "source_ids": [
        "A07"
      ],
      "main": true,
      "url": "classroom/RC-P4.html",
      "reading": "pages/RC-P4.html"
    },
    {
      "id": "RC-P5",
      "title": "目标相同，材料让模型反复遇到什么？",
      "topic": "pretraining",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": true,
      "url": "classroom/RC-P5.html",
      "reading": "pages/RC-P5.html"
    },
    {
      "id": "RC-P6",
      "title": "普通文本训练，能帮助另一项任务吗？",
      "topic": "pretraining",
      "states": 4,
      "source_ids": [
        "A07",
        "P01"
      ],
      "main": true,
      "url": "classroom/RC-P6.html",
      "reading": "pages/RC-P6.html"
    },
    {
      "id": "RC-A1",
      "title": "给同一份 AB 请求加一个示例",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": true,
      "url": "classroom/RC-A1.html",
      "reading": "pages/RC-A1.html"
    },
    {
      "id": "RC-A2",
      "title": "固定 W，改变 X，当前状态就会改变",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": true,
      "url": "classroom/RC-A2.html",
      "reading": "pages/RC-A2.html"
    },
    {
      "id": "RC-A3",
      "title": "示例有效吗？看独立的完整翻译评价",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P03"
      ],
      "main": true,
      "url": "classroom/RC-A3.html",
      "reading": "pages/RC-A3.html"
    },
    {
      "id": "RC-A4",
      "title": "把期望的回应方式写进训练样本",
      "topic": "posttraining",
      "states": 4,
      "source_ids": [
        "A06"
      ],
      "main": true,
      "url": "classroom/RC-A4.html",
      "reading": "pages/RC-A4.html"
    },
    {
      "id": "RC-A5",
      "title": "可读取谁，与哪些目标计分，是两件事",
      "topic": "posttraining",
      "states": 4,
      "source_ids": [
        "A06"
      ],
      "main": true,
      "url": "classroom/RC-A5.html",
      "reading": "pages/RC-A5.html"
    },
    {
      "id": "RC-A6",
      "title": "换事实，检验行为而非旧答案",
      "topic": "posttraining",
      "states": 3,
      "source_ids": [
        "A06"
      ],
      "main": true,
      "url": "classroom/RC-A6.html",
      "reading": "pages/RC-A6.html"
    },
    {
      "id": "RC-C1",
      "title": "固定预算，模型与训练量怎样取舍？",
      "topic": "scaling",
      "states": 3,
      "source_ids": [
        "P09",
        "P10"
      ],
      "main": true,
      "url": "classroom/RC-C1.html",
      "reading": "pages/RC-C1.html"
    },
    {
      "id": "RC-C2",
      "title": "沿一条真实预算线，看哪里用得更好",
      "topic": "scaling",
      "states": 5,
      "source_ids": [
        "P10"
      ],
      "main": true,
      "url": "classroom/RC-C2.html",
      "reading": "pages/RC-C2.html"
    },
    {
      "id": "RC-T1",
      "title": "16 GB 权重，为什么训练状态会更多？",
      "topic": "distributed-training",
      "states": 3,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": true,
      "url": "classroom/RC-T1.html",
      "reading": "pages/RC-T1.html"
    },
    {
      "id": "RC-T2",
      "title": "分担数据，与分担保存责任，是两个动作",
      "topic": "distributed-training",
      "states": 4,
      "source_ids": [
        "A19",
        "P11"
      ],
      "main": true,
      "url": "classroom/RC-T2.html",
      "reading": "pages/RC-T2.html"
    },
    {
      "id": "RC-T3",
      "title": "相同的读取目标，能否少保存、少搬运？",
      "topic": "flashattention-moe",
      "states": 4,
      "source_ids": [
        "A16",
        "A24",
        "A26",
        "P12"
      ],
      "main": true,
      "url": "classroom/RC-T3.html",
      "reading": "pages/RC-T3.html"
    },
    {
      "id": "RC-V1",
      "title": "旧参数接收新请求，生成当前状态",
      "topic": "serving",
      "states": 4,
      "source_ids": [
        "A14",
        "A10"
      ],
      "main": true,
      "url": "classroom/RC-V1.html",
      "reading": "pages/RC-V1.html"
    },
    {
      "id": "RC-V2",
      "title": "权重能共享，上下文状态仍要付成本",
      "topic": "serving",
      "states": 3,
      "source_ids": [
        "A14",
        "A10",
        "A13",
        "W01",
        "W02",
        "A08",
        "A11",
        "A12",
        "W03",
        "W04"
      ],
      "main": true,
      "url": "classroom/RC-V2.html",
      "reading": "pages/RC-V2.html"
    },
    {
      "id": "RC-F1",
      "title": "同一条回答的事实、本领与执行从哪里来？",
      "topic": "context-memory",
      "states": 3,
      "source_ids": [
        "P03",
        "P04"
      ],
      "main": true,
      "url": "classroom/RC-F1.html",
      "reading": "pages/RC-F1.html"
    },
    {
      "id": "RC-F2",
      "title": "新测量与新约束，真的改变选择",
      "topic": "context-memory",
      "states": 4,
      "source_ids": [
        "P03",
        "P04"
      ],
      "main": true,
      "url": "classroom/RC-F2.html",
      "reading": "pages/RC-F2.html"
    },
    {
      "id": "CL01",
      "title": "记忆容量：存入与读回，要放在一起判断",
      "topic": "memory-capacity",
      "states": 1,
      "source_ids": [
        "B02"
      ],
      "main": true,
      "url": "classroom/CL01.html",
      "reading": "pages/CL01.html"
    },
    {
      "id": "CL02",
      "title": "学到了什么：让解释接受新证据",
      "topic": "goodfire-internals",
      "states": 1,
      "source_ids": [
        "GOODFIRE_FULL"
      ],
      "main": true,
      "url": "classroom/CL02.html",
      "reading": "pages/CL02.html"
    },
    {
      "id": "CL03",
      "title": "可执行性：能力收益要与资源代价一起看",
      "topic": "serving",
      "states": 1,
      "source_ids": [],
      "main": true,
      "url": "classroom/CL03.html",
      "reading": "pages/CL03.html"
    },
    {
      "id": "CL04",
      "title": "从一次回答，走向搜索、推理与验证",
      "topic": "posttraining",
      "states": 1,
      "source_ids": [],
      "main": true,
      "url": "classroom/CL04.html",
      "reading": "pages/CL04.html"
    }
  ],
  "labs": {
    "lecture": "06",
    "notebooks": [
      {
        "key": "budget-adaptation",
        "title": "LAB 01 · 训练预算、适配与分块归一化",
        "ipynb": "labs/notebooks/budget-adaptation.ipynb",
        "html": "labs/html/budget-adaptation.html",
        "deepnote_id": "9272b71f695c48f4a86d387733872604",
        "deepnote_url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-R1-20261020-6df914c0-6647-47d4-b50a-ffcae662bb3a/notebook/LAB-01-9272b71f695c48f4a86d387733872604?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=9272b71f695c48f4a86d387733872604&utm_term=get_notebook",
        "sha256": "94654b1c2168247983aab8458658562d5fb07741673a502a318b6824c96456ff",
        "original_sha256": "b9a2917e369bcbf4f0df549f092365676f6b1f22692aa2280562241bc736ae8c",
        "deepnote_sha256": "b9a2917e369bcbf4f0df549f092365676f6b1f22692aa2280562241bc736ae8c",
        "local_markdown_revision": "2026-10-20",
        "changed_markdown_cells": [
          0,
          3,
          15
        ],
        "cloud_sync": "unchanged original; current local prose not synced"
      },
      {
        "key": "associative-memory",
        "title": "LAB 02 · 按内容读记忆：相似度、干扰与选择性",
        "ipynb": "labs/notebooks/associative-memory.ipynb",
        "html": "labs/html/associative-memory.html",
        "deepnote_id": "042b1d2a35d245878dbff53755515872",
        "deepnote_url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-R1-20261020-6df914c0-6647-47d4-b50a-ffcae662bb3a/notebook/LAB-02-042b1d2a35d245878dbff53755515872?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=042b1d2a35d245878dbff53755515872&utm_term=get_notebook",
        "sha256": "fb1aace115a88cddcaa1b52d6394f7d8251d7f94e7f23c9411ef552c7953e9d8",
        "original_sha256": "f9fa2f8010f3da17f3d6902524ecc6d67d977f7c2844bbc7559c0c0efa9caba1",
        "deepnote_sha256": "f9fa2f8010f3da17f3d6902524ecc6d67d977f7c2844bbc7559c0c0efa9caba1",
        "local_markdown_revision": "2026-10-20",
        "changed_markdown_cells": [
          0
        ],
        "cloud_sync": "unchanged original; current local prose not synced"
      },
      {
        "key": "kv-serving",
        "title": "LAB 03 · KV、分页、前缀与请求调度",
        "ipynb": "labs/notebooks/kv-serving.ipynb",
        "html": "labs/html/kv-serving.html",
        "deepnote_id": "ae30640da295448fb2f86cc57549f421",
        "deepnote_url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-R1-20261020-6df914c0-6647-47d4-b50a-ffcae662bb3a/notebook/LAB-03-KV-ae30640da295448fb2f86cc57549f421?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=ae30640da295448fb2f86cc57549f421&utm_term=get_notebook",
        "sha256": "f698f8ce0768308feb085cbdd6d631bf08fbc1f6163811feaf349e65036cfdd9",
        "original_sha256": "f698f8ce0768308feb085cbdd6d631bf08fbc1f6163811feaf349e65036cfdd9",
        "deepnote_sha256": "f698f8ce0768308feb085cbdd6d631bf08fbc1f6163811feaf349e65036cfdd9",
        "local_markdown_revision": null,
        "changed_markdown_cells": [],
        "cloud_sync": "unchanged original; current local prose not synced"
      },
      {
        "key": "icl192",
        "title": "LAB 04 · 固定参数的 ICL 对照：192 请求离线链路",
        "ipynb": "labs/notebooks/icl192.ipynb",
        "html": "labs/html/icl192.html",
        "deepnote_id": "cf0999fef7b84a1b92cbbd939c94e560",
        "deepnote_url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-R1-20261020-6df914c0-6647-47d4-b50a-ffcae662bb3a/notebook/LAB-04-ICL-192-cf0999fef7b84a1b92cbbd939c94e560?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=cf0999fef7b84a1b92cbbd939c94e560&utm_term=get_notebook",
        "sha256": "c8f3deac9b078e1d104440d701936b329b1bc9c73d7ce2860f1d21520358e840",
        "original_sha256": "1ce601733988da02bc7018cc8d989b31183e7dc33bf11cae99a1657cfd0040fe",
        "deepnote_sha256": "1ce601733988da02bc7018cc8d989b31183e7dc33bf11cae99a1657cfd0040fe",
        "local_markdown_revision": "2026-10-20",
        "changed_markdown_cells": [
          0,
          10
        ],
        "cloud_sync": "unchanged original; current local prose not synced"
      }
    ],
    "execution": "preserved original successful CPU outputs; no new execution on 2026-10-20",
    "deepnote_project_id": "6df914c0-6647-47d4-b50a-ffcae662bb3a",
    "deepnote_navigation_id": "5403fe2c162a4783ace024a2413e9160",
    "deepnote_navigation_url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/6df914c0-6647-47d4-b50a-ffcae662bb3a/notebook/5403fe2c162a4783ace024a2413e9160?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=5403fe2c162a4783ace024a2413e9160&utm_term=get_notebook",
    "deepnote_native_readback": "exact name/type/content/order matched: 4 labs 84 blocks + navigation 7 blocks",
    "cloud_execution": "not run",
    "student_copy_run": "not verified",
    "native_visual_layout": "not browser-verified",
    "historical_candidate": "R1",
    "local_revision": {
      "date": "2026-10-20",
      "scope": "Markdown/navigation cleanup only; all code cells and stored outputs unchanged",
      "cloud_sync": "not performed",
      "current_archive": "Lecture06-Labs-20261020.zip",
      "historical_archive": "Lecture06-R1-Labs.zip"
    }
  },
  "current_labs": {
    "schema_version": 1,
    "project": {
      "id": "2ff4b87b-2904-4b9c-b9e9-bdbd72962691",
      "name": "Fall 26 - Lecture 06",
      "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=2ff4b87b-2904-4b9c-b9e9-bdbd72962691&utm_term=get_project"
    },
    "notebooks": [
      {
        "key": "CLS00",
        "id": "a96e110cfb0d4b28b79d41a01b714f92",
        "title": "CLS 00 · 第六讲实验导航",
        "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691/notebook/CLS-00-a96e110cfb0d4b28b79d41a01b714f92?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=a96e110cfb0d4b28b79d41a01b714f92&utm_term=get_notebook",
        "summary": "先按课堂问题找到本册和活动，再核对准备条件与证据类型。",
        "sections": []
      },
      {
        "key": "CLS01",
        "id": "e2c2fce2f81b40d59356bfe7a63361b0",
        "title": "CLS 01 · 训练目标与资源账本",
        "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691/notebook/CLS-01-e2c2fce2f81b40d59356bfe7a63361b0?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=e2c2fce2f81b40d59356bfe7a63361b0&utm_term=get_notebook",
        "summary": "对齐本讲的 8B 配置，分别计算训练目标、参数状态与资源账本。",
        "sections": []
      },
      {
        "key": "LAB01",
        "id": "e1f6f8c1ebd543c5ade548e0af61edc1",
        "title": "LAB 01 · 记忆：写入、读回与容量",
        "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691/notebook/LAB-01-e1f6f8c1ebd543c5ade548e0af61edc1?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=e1f6f8c1ebd543c5ade548e0af61edc1&utm_term=get_notebook",
        "summary": "固定查询与目标，比较写入、读回、干扰、选择性和容量。",
        "sections": [
          {
            "key": "M1",
            "title": "M1 · 同一查询与目标，写得更多会怎样？",
            "block_id": "90410919d6644f819f533e400dca3dae"
          },
          {
            "key": "M2",
            "title": "M2 · 改写入，还是改读取？",
            "block_id": "96c41419751341a8a0b667aaa5a447f5"
          },
          {
            "key": "M3",
            "title": "M3 · 归一化、选择性与有限容量扫描",
            "block_id": "61fb56544b374691b3eef5ed9d93bcbb"
          },
          {
            "key": "M4",
            "title": "M4 · 参数不变，内容可变；选择性也会放大错误",
            "block_id": "22f75058ab9d4d329b48a19e57a978b9"
          }
        ]
      },
      {
        "key": "LAB02",
        "id": "e6eecd2d72554ef4adacc0b797db4b32",
        "title": "LAB 02 · 视觉：学到了什么，怎样验证",
        "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691/notebook/LAB-02-e6eecd2d72554ef4adacc0b797db4b32?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=e6eecd2d72554ef4adacc0b797db4b32&utm_term=get_notebook",
        "summary": "区分训练、表示与独立评测；用配对干预和原研究图证检验解释。",
        "sections": [
          {
            "key": "V1",
            "title": "V1 · 训练目标下降，权重真的变了吗？",
            "block_id": "53d432e203fc440ebba39d9c09c21895"
          },
          {
            "key": "V2",
            "title": "V2 · 同一留出集：重建改善，读出也改善吗？",
            "block_id": "09c58e6186c64aa6a3392245acbca957"
          },
          {
            "key": "V3",
            "title": "V3 · 哪些单元被用到了？先选候选，再做配对干预",
            "block_id": "6ea12ebcb1a94634ad76ca46cfec6442"
          },
          {
            "key": "V4",
            "title": "V4 · 原研究证据台：预测、揭示，再审读边界",
            "block_id": "12bf3a75f0404c55bbedc705a3f30485"
          },
          {
            "key": "V5",
            "title": "V5 · 同一个受训表示，怎样落成矩阵计算？",
            "block_id": "b1269a5efcb447548fffc67787021016"
          }
        ]
      },
      {
        "key": "LAB03",
        "id": "9280cd5ad74c43cba2c65cd705ff8dd6",
        "title": "LAB 03 · 文本：目标、数据与参数更新",
        "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691/notebook/LAB-03-9280cd5ad74c43cba2c65cd705ff8dd6?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=9280cd5ad74c43cba2c65cd705ff8dd6&utm_term=get_notebook",
        "summary": "从前缀与目标到真实轻量 RNN 更新，再比较材料和计分位置。",
        "sections": [
          {
            "key": "T1",
            "title": "T1 · 完整材料怎样产生多个预测目标？",
            "block_id": "74c6517c9b184283a41a43808dbd1e8f"
          },
          {
            "key": "T2",
            "title": "T2 · 一次 backward 和优化器步，究竟改变了什么？",
            "block_id": "7b37d910f87943aebb396f3416ebb3c6"
          },
          {
            "key": "T3",
            "title": "T3 · 预算相同，只改变反复出现的材料",
            "block_id": "87e602bc25c841da9cd1fbf3d3e288f8"
          },
          {
            "key": "T4",
            "title": "T4 · 只给回应计分，会改变可读范围吗？",
            "block_id": "a10fcbd9065c405baa1fe8530af6a535"
          }
        ]
      },
      {
        "key": "LAB04",
        "id": "8d38f8a6b20944129b6587b282ab38d2",
        "title": "LAB 04 · 上下文：固定参数的对照",
        "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691/notebook/LAB-04-8d38f8a6b20944129b6587b282ab38d2?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=8d38f8a6b20944129b6587b282ab38d2&utm_term=get_notebook",
        "summary": "核对固定模型的输入与已保存输出，重新评分并检查结论边界。",
        "sections": [
          {
            "key": "I1",
            "title": "I1 · 哪些东西在这次运行中没有改变？",
            "block_id": "98722ed87eac4c9f8f8e47a170892bab"
          },
          {
            "key": "I2",
            "title": "I2 · 对照能回答什么？先核输入，再看输出",
            "block_id": "e17ab6d3843841b7a00d3da644aea46a"
          },
          {
            "key": "I3",
            "title": "I3 · 改一次分析条件，看看结论是否稳固",
            "block_id": "24c067a20fa748269347e230a31b65ae"
          },
          {
            "key": "I4",
            "title": "I4 · 可选新推理：只改示例顺序，留下新证据",
            "block_id": "6b375e33eec343c48ff98426e1c3c54d"
          }
        ]
      },
      {
        "key": "LAB05",
        "id": "6cbbfbeaa7b941c3af8063f4ca5969f8",
        "title": "LAB 05 · 同一次更新，多个数据分片",
        "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691/notebook/LAB-05-6cbbfbeaa7b941c3af8063f4ca5969f8?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=6cbbfbeaa7b941c3af8063f4ca5969f8&utm_term=get_notebook",
        "summary": "将同一次更新拆到多个数据分片，比较局部梯度、汇总与参数更新。",
        "sections": [
          {
            "key": "D1",
            "title": "D1 · 同初值、同八条样本，怎样合回一次更新？",
            "block_id": "018523536049452face3504fb4c32022"
          },
          {
            "key": "D2",
            "title": "D2 · 每片同样一条序列，分母为什么仍不相同？",
            "block_id": "c21fe00d75534e5382ec6df4f68927f6"
          },
          {
            "key": "D3",
            "title": "D3 · 候选一起进入分母时，还能只合并局部loss吗？",
            "block_id": "a9494ac7c3eb42238d88fcdd1495bbec"
          }
        ]
      },
      {
        "key": "LAB06",
        "id": "56ea4de667c74a84a7be00689c8de2d9",
        "title": "LAB 06 · 资源：预算、搬运与执行选择",
        "url": "https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-06-2ff4b87b-2904-4b9c-b9e9-bdbd72962691/notebook/LAB-06-56ea4de667c74a84a7be00689c8de2d9?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=56ea4de667c74a84a7be00689c8de2d9&utm_term=get_notebook",
        "summary": "从训练预算与内存状态走到注意力搬运、请求缓存和受约束选择。",
        "sections": [
          {
            "key": "R1",
            "title": "R1 · 固定计算预算，改变模型与训练量",
            "block_id": "596d044a097841e989ee1ddc5e52b551"
          },
          {
            "key": "R2",
            "title": "R2 · 16 GB 权重，为什么会有128 GB训练状态？",
            "block_id": "99a7a488a4a347d0bf8e5a36bb31c3ff"
          },
          {
            "key": "R3",
            "title": "R3 · 同一 Q/K/V，分块怎样保持同一个读出？",
            "block_id": "c443b475b8e246b781dada9fba82493f"
          },
          {
            "key": "R4",
            "title": "R4 · 共享权重，为什么八份上下文仍占八份空间？",
            "block_id": "f9b67b005ffd42c2bcf2edd475f01766"
          },
          {
            "key": "R5",
            "title": "R5 · 先列可行集，再作一次真正会翻转的选择",
            "block_id": "fbaa3d39251c4f6eb017472ab8dff76b"
          }
        ]
      }
    ],
    "page_mappings": [
      {
        "pages": [
          "AR01"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB01",
            "section": "M1"
          }
        ],
        "summary": "固定查询、目标和记忆前缀，比较 M=1、16、64、256 的读回。这里是受控关联记忆计算。"
      },
      {
        "pages": [
          "RG24"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB02",
            "section": "V4"
          }
        ],
        "summary": "在 V4 选择 EVIDENCE_CASE=\"RG24\"，先写预测，再揭示原研究的近失配证据；本活动不重新测量模型激活。"
      },
      {
        "pages": [
          "RC-P1"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB03",
            "section": "T1"
          }
        ],
        "summary": "从同一 A/B 记录生成多组前缀与目标，区分教学切分和真实 tokenizer。"
      },
      {
        "pages": [
          "RC-P2"
        ],
        "states": [
          "b0",
          "b1",
          "b2",
          "b3"
        ],
        "targets": [
          {
            "notebook": "LAB03",
            "section": "T1"
          }
        ],
        "summary": "检查 input、target、causal mask 及 BOS/EOS 对齐，说明各位置怎样使用同一组参数。"
      },
      {
        "pages": [
          "RC-P3"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB03",
            "section": "T2"
          }
        ],
        "summary": "核对一次真实轻量 RNN 更新前后的参数、loss 和目标概率；不把教学计分预设为实测结果。"
      },
      {
        "pages": [
          "RC-P4"
        ],
        "states": [
          "b0",
          "b1",
          "b2",
          "b3"
        ],
        "targets": [
          {
            "notebook": "LAB03",
            "section": "T3"
          },
          {
            "notebook": "LAB04",
            "section": "I2"
          }
        ],
        "summary": "比较成对输入与实际输出；把教师参考答案、轻量训练和独立诊断分别看待。"
      },
      {
        "pages": [
          "RC-P5"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB03",
            "section": "T3"
          },
          {
            "notebook": "LAB06",
            "section": "R1"
          }
        ],
        "summary": "区分材料库存、不同 token 和实际训练消费量，检查固定预算下材料提出的依赖。"
      },
      {
        "pages": [
          "RC-P6"
        ],
        "states": [
          "b0",
          "b1",
          "b2",
          "b3"
        ],
        "targets": [
          {
            "notebook": "LAB03",
            "section": "T3"
          }
        ],
        "summary": "分别阅读 GPT-1 原表和课堂轻量模型结果，说明它们各自支持怎样的迁移判断。"
      },
      {
        "pages": [
          "RC-A1"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB04",
            "section": "I1"
          },
          {
            "notebook": "LAB04",
            "section": "I2"
          }
        ],
        "summary": "核对固定 checkpoint、输入和已保存输出。24 条真实 pilot、独立 6 条诊断与 192 条合成 fixture 分开。"
      },
      {
        "pages": [
          "RC-A2"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB01",
            "section": "M4"
          },
          {
            "notebook": "LAB04",
            "section": "I1"
          }
        ],
        "summary": "比较参数不变时的内容变化；将关联记忆构造与固定真实模型的记录分开。"
      },
      {
        "pages": [
          "RC-A3"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB04",
            "section": "I3"
          }
        ],
        "summary": "重算已有记录，检查分母和对照条件；D−C 不能单独代表示例的因果效应。"
      },
      {
        "pages": [
          "RC-A4",
          "RC-A5"
        ],
        "states": [
          "b0",
          "b1",
          "b2",
          "b3"
        ],
        "targets": [
          {
            "notebook": "LAB03",
            "section": "T4"
          }
        ],
        "summary": "分别指出可读取的输入和计分位置：只给回应计分，不等于看不到用户输入。"
      },
      {
        "pages": [
          "RC-A6"
        ],
        "states": [
          "b0",
          "b1",
          "b2"
        ],
        "targets": [
          {
            "notebook": "LAB03",
            "section": "T4"
          },
          {
            "notebook": "LAB04",
            "section": "I2"
          },
          {
            "notebook": "LAB04",
            "section": "I3"
          }
        ],
        "summary": "区分修改权重与修改上下文，分别核对已有记录和能够支持的结论。"
      },
      {
        "pages": [
          "CL03"
        ],
        "states": [
          "b0"
        ],
        "targets": [
          {
            "notebook": "LAB06",
            "section": "R5"
          }
        ],
        "summary": "使用 R5 账本说明当前为何选 A，以及改变哪个约束会改变选择。"
      }
    ],
    "topic_mappings": {
      "memory-capacity": [
        [
          "LAB01",
          "M1"
        ],
        [
          "LAB01",
          "M4"
        ]
      ],
      "goodfire-internals": [
        [
          "LAB02",
          "V4"
        ]
      ],
      "pretraining": [
        [
          "LAB03",
          "T1"
        ],
        [
          "LAB03",
          "T2"
        ],
        [
          "LAB03",
          "T3"
        ],
        [
          "LAB06",
          "R1"
        ]
      ],
      "context-memory": [
        [
          "LAB01",
          "M4"
        ],
        [
          "LAB04",
          "I1"
        ],
        [
          "LAB04",
          "I2"
        ],
        [
          "LAB04",
          "I3"
        ]
      ],
      "posttraining": [
        [
          "LAB03",
          "T4"
        ]
      ],
      "serving": [
        [
          "LAB06",
          "R4"
        ],
        [
          "LAB06",
          "R5"
        ]
      ]
    }
  },
  "topics": [
    "posttraining",
    "distributed-training",
    "adaptation",
    "memory-capacity",
    "context-memory",
    "pretraining",
    "serving",
    "scaling",
    "flashattention-moe",
    "vision-scaling",
    "goodfire-internals"
  ]
}
