---
schema: 1
type: video
title: 'Teaching LLMs to Speak Spotify — Yves Raimond & Jacqueline Wood, Spotify'
description: >-
  One in four US Spotify Premium subscribers now use a single system every day,
  which Spotify calls the Large Taste Model. Yves Raimond, Spotify's SVP and GM
  of AI & Personalization, explains how Spotify turned its recommendation system
  "on its head" to be LLM-native. It went from curated playlists, to
  recommendations like Discover Weekly, to what Spotify calls generative
  personalization: a steerable DJ, prompted playlists, an editable taste profile
  and personal podcasts, across a catalog of more than 100 million tracks plus
  podcasts and audiobooks. Staff ML Engineer Jacqueline Wood then shows how the
  models are trained with NEO, Spotify's four-stage recipe. Semantic IDs are
  added to an open-weight LLM like Qwen. The new tokens are grounded while the
  backbone stays frozen, which keeps its language ability intact, where
  continued pre-training wiped it out. Then the model is instruction-tuned
  across many Spotify tasks, which even helped cold-start audiobook
  recommendations. She also covers decoding choices (98% of semantic IDs come
  out valid even without constrained decoding), and how grounding LLM judges
  with user profiles and behavior raised their agreement with humans by 91% on
  ambiguous queries. Speaker info: Jacqueline Wood, LinkedIn:
  https://www.linkedin.com/in/jacquelinewood Related links: Spotify:
  https://www.spotify.com Timestamps: 0:00 Intro: making LLMs speak Spotify 0:47
  Spotify's scale: 760M users and 100M+ tracks 1:52 From curation to
  recommendations 2:37 Generative personalization 3:02 From guessing to
  reasoning, from black box to steerable 4:07 A Spotify DJ you can steer 4:37
  Prompted playlists 5:32 Taste profile 6:22 Personal podcasts 6:52 The Large
  Taste Model 7:27 One in four US Premium subscribers use it daily 8:03
  Jacqueline Wood: how the models are trained 8:18 Semantic IDs for Spotify's
  catalog 9:03 Natural-language podcast recommendations 9:33 NEO: a four-stage
  training recipe 10:02 Domain grounding with a frozen backbone 10:52 Capability
  induction: multitask tuning 11:32 Multitask gains and cold-start audiobooks
  12:32 Why frozen grounding beats continued pre-training 14:02 Beam search vs.
  constrained decoding 15:02 One system in production 15:47 Breaking habitual
  listening in podcast discovery 16:11 Grounded LLM judges 18:16 Scaling
  evaluation sets with LLM judges 18:56 Summary --- Watch along with the
  corrected transcript, summary, timestamps and resources on this talk's
  official AIE page:
  https://ai.engineer/talks/2LRIAfng7eA-youtube-3fe36899d20ca6ca3ed9 Join our
  upcoming AI Engineer conferences (see https://ai.engineer landing page): -
  AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and
  engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference
  returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS
  2026 in Sydney ---
canonical: >-
  https://liquidgold.cc/channel/aidotengineer/explore/video/teaching-llms-to-speak-spotify-yves-raimond-jacquel-50b91540a8b2
markdown: >-
  https://liquidgold.cc/channel/aidotengineer/video/teaching-llms-to-speak-spotify-yves-raimond-jacquel-50b91540a8b2.md
llms: null
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-23T22:20:47.975Z'
language: null
children: []
videoId: 2LRIAfng7eA
durationSeconds: 1180
publishedAt: '2026-09-25T14:30:25.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 60
    endSeconds: 117
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=60'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 129
    endSeconds: 161
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=129'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 172
    endSeconds: 183
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=172'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 195
    endSeconds: 250
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=195'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 261
    endSeconds: 283
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=261'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 296
    endSeconds: 339
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=296'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 351
    endSeconds: 385
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=351'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 397
    endSeconds: 418
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=397'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 428
    endSeconds: 449
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=428'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 460
    endSeconds: 483
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=460'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 505
    endSeconds: 516
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=505'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 563
    endSeconds: 575
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=563'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 588
    endSeconds: 610
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=588'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 622
    endSeconds: 657
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=622'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 667
    endSeconds: 704
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=667'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 714
    endSeconds: 761
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=714'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 771
    endSeconds: 851
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=771'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 863
    endSeconds: 907
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=863'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 919
    endSeconds: 953
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=919'
    heldReason: rights
  - ordinal: 19
    text: null
    startSeconds: 964
    endSeconds: 975
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=964'
    heldReason: rights
  - ordinal: 20
    text: null
    startSeconds: 988
    endSeconds: 1103
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=988'
    heldReason: rights
  - ordinal: 21
    text: null
    startSeconds: 1115
    endSeconds: 1138
    watch: 'https://liquidgold.cc/watch/2LRIAfng7eA?t=1115'
    heldReason: rights
---


# Teaching LLMs to Speak Spotify — Yves Raimond & Jacqueline Wood, Spotify

One in four US Spotify Premium subscribers now use a single system every day, which Spotify calls the Large Taste Model. Yves Raimond, Spotify's SVP and GM of AI & Personalization, explains how Spotify turned its recommendation system "on its head" to be LLM-native. It went from curated playlists, to recommendations like Discover Weekly, to what Spotify calls generative personalization: a steerable DJ, prompted playlists, an editable taste profile and personal podcasts, across a catalog of more than 100 million tracks plus podcasts and audiobooks. Staff ML Engineer Jacqueline Wood then shows how the models are trained with NEO, Spotify's four-stage recipe. Semantic IDs are added to an open-weight LLM like Qwen. The new tokens are grounded while the backbone stays frozen, which keeps its language ability intact, where continued pre-training wiped it out. Then the model is instruction-tuned across many Spotify tasks, which even helped cold-start audiobook recommendations. She also covers decoding choices (98% of semantic IDs come out valid even without constrained decoding), and how grounding LLM judges with user profiles and behavior raised their agreement with humans by 91% on ambiguous queries. Speaker info: Jacqueline Wood, LinkedIn: https://www.linkedin.com/in/jacquelinewood Related links: Spotify: https://www.spotify.com Timestamps: 0:00 Intro: making LLMs speak Spotify 0:47 Spotify's scale: 760M users and 100M+ tracks 1:52 From curation to recommendations 2:37 Generative personalization 3:02 From guessing to reasoning, from black box to steerable 4:07 A Spotify DJ you can steer 4:37 Prompted playlists 5:32 Taste profile 6:22 Personal podcasts 6:52 The Large Taste Model 7:27 One in four US Premium subscribers use it daily 8:03 Jacqueline Wood: how the models are trained 8:18 Semantic IDs for Spotify's catalog 9:03 Natural-language podcast recommendations 9:33 NEO: a four-stage training recipe 10:02 Domain grounding with a frozen backbone 10:52 Capability induction: multitask tuning 11:32 Multitask gains and cold-start audiobooks 12:32 Why frozen grounding beats continued pre-training 14:02 Beam search vs. constrained decoding 15:02 One system in production 15:47 Breaking habitual listening in podcast discovery 16:11 Grounded LLM judges 18:16 Scaling evaluation sets with LLM judges 18:56 Summary --- Watch along with the corrected transcript, summary, timestamps and resources on this talk's official AIE page: https://ai.engineer/talks/2LRIAfng7eA-youtube-3fe36899d20ca6ca3ed9 Join our upcoming AI Engineer conferences (see https://ai.engineer landing page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS 2026 in Sydney ---

Canonical: https://liquidgold.cc/channel/aidotengineer/explore/video/teaching-llms-to-speak-spotify-yves-raimond-jacquel-50b91540a8b2 · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

---

#### Chunk 0: Document excerpt (0:12 to 1:57)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 1: Document excerpt (1:57 to 3:03)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 2: Document excerpt (3:03 to 4:10)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 3: Document excerpt (4:10 to 4:43)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 4: Document excerpt (4:43 to 5:39)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 5: Document excerpt (5:39 to 6:25)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 6: Document excerpt (6:25 to 6:58)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 7: Document excerpt (6:58 to 8:03)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 8: Document excerpt (8:03 to 8:25)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 9: Document excerpt (8:25 to 9:35)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 10: Document excerpt (9:35 to 11:44)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 11: Document excerpt (11:44 to 12:41)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 12: Document excerpt (12:41 to 14:11)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 13: Document excerpt (14:11 to 15:07)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 14: Document excerpt (15:07 to 15:53)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 15: Document excerpt (15:53 to 16:15)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 16: Document excerpt (16:15 to 18:23)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 17: Document excerpt (18:23 to 18:58)

> Held: transcript rights do not permit this chunk's text.

---

#### Chunk 18: Document excerpt (18:58 to 19:40)

> Held: transcript rights do not permit this chunk's text.
