{
  "module": "FTDD-01 — MiniCPM Family (OpenBMB)",
  "course": "3 — LLM Fine-Tuning Masterclass",
  "version": "1.0.0",
  "duration_minutes": 25,
  "total_questions": 10,
  "bloom_distribution": {
    "target": "40% recall / 30% application / 30% analysis",
    "actual": { "recall": 4, "application": 3, "analysis": 3 }
  },
  "passing_score_percent": 70,
  "questions": [
    {
      "id": "Q01", "bloom": "recall", "type": "multiple_choice",
      "prompt": "Who is OpenBMB, and what is the MiniCPM family's license posture?",
      "options": [
        "A stealth startup; weights released under a custom research-only license.",
        "'Open Lab for Big Model Base' — Tsinghua University + ModelBest; all MiniCPM models are Apache-2.0 with open training data.",
        "A Meta spinoff; weights under the Llama Community License.",
        "An Allen Institute project; weights under Apache-2.0 but data withheld."
      ],
      "answer_index": 1,
      "rationale": "OpenBMB = 'Open Lab for Big Model Base,' a collaboration between Tsinghua University and ModelBest. The entire MiniCPM family ships under Apache-2.0 with open training data — the open-recipe tier (FT02). No field-of-use, MAU, or named-product restrictions."
    },
    {
      "id": "Q02", "bloom": "recall", "type": "multiple_choice",
      "prompt": "What is the arXiv identifier for the UltraFeedback paper, and why is it load-bearing for this course?",
      "options": [
        "arXiv:2501.00656 — it is the OLMo 2 fully-open citation.",
        "arXiv:2310.01377 (Cui et al., 2023) — it introduced UltraFeedback and established the open-preference-dataset pattern the DPO modules lean on.",
        "arXiv:2411.15124 — it is the Tülu 3 post-training recipe.",
        "arXiv:2305.14314 — it is the QLoRA paper."
      ],
      "answer_index": 1,
      "rationale": "arXiv:2310.01377 (Cui et al., 2023) introduced UltraFeedback. It is load-bearing because an open preference dataset means the course can point at a concrete preference pair and say 'this is the signal DPO optimizes' — impossible with a closed dataset. FT13 (DPO) and FT05 (synthetic data) both use it as the reference."
    },
    {
      "id": "Q03", "bloom": "recall", "type": "multiple_choice",
      "prompt": "Which component turns MiniCPM (a text base) into MiniCPM-V 4.6 (a vision-language model)?",
      "options": [
        "A 400M-parameter image encoder called SigLip-400M.",
        "A separately trained audio codec.",
        "A retrieval-augmented vision database.",
        "A larger text backbone with no vision component."
      ],
      "answer_index": 0,
      "rationale": "SigLip-400M is a 400M-parameter image encoder. In MiniCPM-V 4.6, images pass through SigLip to become token-like embeddings, which are concatenated with the text tokens and processed by the shared transformer. It matters because it is itself open and auditable — the vision-language stack is inspectable down to the image encoder."
    },
    {
      "id": "Q04", "bloom": "recall", "type": "multiple_choice",
      "prompt": "What is the Nature Communications paper identifier for MiniCPM, and what does it argue?",
      "options": [
        "arXiv:2310.01377 — it argues UltraFeedback is the best preference dataset.",
        "s41467-025-61040-5 — it argues a small, open, well-documented model is a viable platform for the entire fine-tuning stack.",
        "arXiv:2501.00656 — it argues OLMo 2 is fully open.",
        "s41467-024-00000-0 — it argues that closed models outperform open ones."
      ],
      "answer_index": 1,
      "rationale": "s41467-025-61040-5. The Nature Communications paper walks through MiniCPM's pretraining data curation, mid-training, and post-training with each stage's data and recipe disclosed. Its argument: a small, open, documented model is a viable research and teaching platform for the whole fine-tuning stack — the formal case for MiniCPM as the course's base."
    },
    {
      "id": "Q05", "bloom": "application", "type": "multiple_choice",
      "prompt": "You need to fine-tune MiniCPM-o 4.5 (the omni-modal model) for a custom audio task. Which framework should you choose, and why?",
      "options": [
        "LLaMA-Factory, because it is more widely used in production.",
        "SWIFT, because it is OpenBMB's first-party framework with native, first-day support for MiniCPM-o's modality handling, chat templates, and example scripts.",
        "TRL, because it is the most flexible.",
        "Either is equivalent — the text and omni-modal cases fine-tune identically."
      ],
      "answer_index": 1,
      "rationale": "For vision (MiniCPM-V) and omni-modal (MiniCPM-o) fine-tuning, SWIFT (ModelBest/OpenBMB's first-party framework) is the path of least resistance — the modality handlers and chat templates are maintained by the people who built the model. LLaMA-Factory supports them but often lags by weeks-to-months and uses community-maintained scripts. Choosing LLaMA-Factory for omni-modal 'because we already use it' costs days of template-debugging."
    },
    {
      "id": "Q06", "bloom": "application", "type": "multiple_choice",
      "prompt": "Your team already uses LLaMA-Factory for Llama, Qwen, and Mistral. You now need to fine-tune MiniCPM5-1B (text-only). What is the right call?",
      "options": [
        "Switch the whole team to SWIFT for consistency with MiniCPM.",
        "Use LLaMA-Factory — adding MiniCPM5-1B is a config change in your existing multi-model pipeline, and text-only models produce equivalent results in both frameworks.",
        "Use SWIFT because it is the only framework that supports MiniCPM5-1B.",
        "Abandon MiniCPM and pick a model your tooling already supports natively."
      ],
      "answer_index": 1,
      "rationale": "For the text models (MiniCPM5-1B, MiniCPM3-4B), SWIFT and LLaMA-Factory produce equivalent results. If your team already uses LLaMA-Factory, adding MiniCPM5-1B is a config change, not a new tool — the right call. The SWIFT-first rule only applies to the vision (V) and omni-modal (o) variants, where first-party modality support is the deciding factor."
    },
    {
      "id": "Q07", "bloom": "application", "type": "multiple_choice",
      "prompt": "You are teaching a 1-day workshop on DPO. Which dataset do you reach for as the worked example, and what course module does it belong to?",
      "options": [
        "UltraChat — it is the SFT dataset for FT04/FT12.",
        "UltraFeedback — it is the preference dataset for FT05/FT13, and it is open so students can inspect the exact preference pairs DPO optimizes.",
        "Ultra-FineWeb — it is the pretraining mix for FT06.",
        "A closed vendor dataset, because open datasets are too noisy for teaching."
      ],
      "answer_index": 1,
      "rationale": "UltraFeedback (arXiv:2310.01377) is the course's default preference dataset for DPO (FT05, FT13). It is open, documented, and reproducible — so students can read the dataset, find a concrete preference pair, and see exactly what signal DPO is optimizing. This inspectability is why the course uses open datasets as teaching tools; a closed dataset cannot provide the pointer."
    },
    {
      "id": "Q08", "bloom": "analysis", "type": "multiple_choice",
      "prompt": "Why does this course use MiniCPM5-1B (a 1B model) rather than a 7B or larger model as its default teaching base?",
      "options": [
        "Because 1B models are more capable than 7B models for fine-tuning.",
        "Because the FT00 thesis (fine-tuning steers behavior, not knowledge) is demonstrable on a 1B model in minutes — students can run the full SFT→DPO→quantize→deploy loop in an afternoon. Teaching requires a model cheap enough to break, reset, and break again.",
        "Because larger models cannot be fine-tuned at all.",
        "Because MiniCPM5-1B is the only open model available."
      ],
      "answer_index": 1,
      "rationale": "The FT00 thesis is that fine-tuning steers behavior rather than injecting knowledge. This thesis is demonstrable on a 1B model in minutes — you do not need a frontier model to learn that SFT changes format or DPO shifts preference. You need a model cheap enough to run the experiment 10 times. A 1B model lets a student run the full loop in a single afternoon; a 7B model that takes hours per run would gate iteration. MiniCPM5-1B is the most teachable member, not the smartest."
    },
    {
      "id": "Q09", "bloom": "analysis", "type": "multiple_choice",
      "prompt": "A team decides to use MiniCPM5-1B as the production model for a customer-facing medical-question-answering chatbot, citing its openness and speed. What is the flaw in this reasoning?",
      "options": [
        "There is no flaw — open models are always safe for medical use.",
        "MiniCPM5-1B is a small teaching/prototyping/edge model, not a frontier model. It will lose capability comparisons against 70B+ models. Openness and speed are deployment virtues, but they do not substitute for the capability a medical QA workload requires. The base must be matched to the deployment (FT03).",
        "The flaw is that Apache-2.0 forbids medical use.",
        "The flaw is that MiniCPM5-1B cannot be fine-tuned at all."
      ],
      "answer_index": 1,
      "rationale": "This is the 'treating MiniCPM5-1B as a production frontier model' anti-pattern. MiniCPM5-1B is a small, capable, open model — ideal for teaching, prototyping, and edge deployment. It is not the right base for a capability-demanding production workload. Openness and speed are real virtues, but they do not substitute for the capability the task requires. Match the base to the deployment (FT03); consider a larger base (MiniCPM3-4B or a 7B+) for the medical workload."
    },
    {
      "id": "Q10", "bloom": "analysis", "type": "multiple_choice",
      "prompt": "Why are the Ultra* datasets (UltraChat, UltraFeedback, Ultra-FineWeb) the course's data reference — not just MiniCPM's model reference — and what is the specific pedagogical advantage they provide over a closed dataset?",
      "options": [
        "They are higher quality than any closed dataset.",
        "They are open, documented, and reproducible — so the course can point at a concrete example (e.g., a specific UltraFeedback preference pair) and say 'this is the signal DPO optimizes.' A closed dataset cannot provide this pointer; it makes the steering signal a black box.",
        "They are the only datasets compatible with SWIFT.",
        "They are required by Apache-2.0 licensing."
      ],
      "answer_index": 1,
      "rationale": "The Ultra* datasets are open, documented, and reproducible, which means the course can teach with the steering signal exposed. When FT13 teaches DPO on UltraFeedback, a student can go read the dataset, find a concrete preference pair, and see exactly what DPO is optimizing. This inspectability is a pedagogical advantage a closed dataset cannot match — with closed data, the steering signal is a black box. The point is not that Ultra* is the best data; it is that open data is a teaching tool."
    }
  ]
}
