Tag Archives: bjj

Teaching an LLM a little Jiu Jitsu

A Brazilian Jiu-Jitsu match is in progress, featuring two competitors on a blue mat. One fighter, wearing a blue gi, is positioned on the bottom while the other, in a white gi with robotic elements, is attempting to gain control. A referee oversees the match, with spectators in the background.

Earlier this year, my colleagues at Relational AI helped AT&T build LLM models focused on Telecom called Otel and push it to the top of the leaderboard. I wish I could tell you all about it, but I wasn’t on the team. No worries though, you can read all about on the links above. Instead I’m going to tell you about training an LLM focused on Brazilian Jiu Jitsu. The idea is to ask it all kinds of dumb beginner questions and have it provides great answers. All without getting frustrated or telling you to focus on the fundamentals before trying flying armbars. Now, I wish I could just sign up Claude to our local school, fast forward 10 years and be done, but LLMs can’t learn that way. Large Language Models need Language, they need Text.

Luckily there are thousands of “Instructionals” (video classes teaching a topic or technique) of usually high quality and thousands of YouTube videos of varying degrees of quality we can use as our starting point. While kid classes pay the bills for local schools, it turns out middle aged men are the target audience of the instructional market. I had already purchased over 50 instructionals on BJJ Fanatics, but that wasn’t nearly enough, I had to use the Jozef Chen method and got a lot more. I also got some competition match clips that were narrated from youtube and downloaded them using yt-dlp.

Everyone is short on attention these days, so this is the AI:DR version for you to replicate this for your own video or document library:

  1. Clean phonetic transcription errors and prepend Contextual Retrieval headers ([Context: Author — Source | Category | Tags]) before embedding.
  2. Build an explicit Knowledge Graph mapping canonical tags, cross-school synonyms, parent-child tag hierarchy, and mutual-exclusivity rules.
  3. Audit video keyframes with CLIP + a Vision-Language Model so silent physical demonstrations become searchable [Visual Demonstration] chunks.
  4. Mine timestamped links from your existing docs to fine-tune an ONNX Cross-Encoder Re-Ranker (bge-reranker-base) with 5-way listwise loss.
  5. Synthesize a 3-Track SFT dataset (6-excerpt RAFT with distractors + diagnostic Go/No-Go gates + Knowledge Graph lineage/rules) and gate it with an automated <0.35% 7-gram linter.
  6. Run 2.5x Decision-Weighted QLoRA SFT followed by Zero-Extra-VRAM PEFT DPO (with model.disable_adapter(): + 0.15 NLL anchor) on a single GPU.
  7. Verify against a rubric-scored domain benchmark and deploy on volume-backed vLLM serverless.
Continue reading →
Tagged , , , , ,