← πŸ“š 이번 μ£Ό Weekly Digest둜 λŒμ•„κ°€κΈ°

DD-061 GrandCode: Achieving Grandmaster Level in Competitive Programming via Agentic Reinforcement Learning

arXiv: 2604.02721 κΈ°κ΄€: DeepReinforce Upvotes: 348 | Comments: 2 μˆœμœ„: 이번 μ£Ό Top 2


μ•ˆλ…•ν•˜μ„Έμš”. AI/ML μ „λ¬Έκ°€λ‘œμ„œ 이 ν₯미둜운 논문을 μ£Όλ‹ˆμ–΄ 개발자 κ΄€μ μ—μ„œ 깊이 있게 뢄석해 λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.


1. μ™œ 이 논문이 μ€‘μš”ν•œκ°€?

μ§€κΈˆκΉŒμ§€ AIλŠ” μ½”λ”© λŠ₯λ ₯μ—μ„œ λ†€λΌμš΄ λ°œμ „μ„ λ³΄μ˜€μ§€λ§Œ, 경쟁 ν”„λ‘œκ·Έλž˜λ°(Competitive Programming) λΆ„μ•Όμ—μ„œλŠ” 졜고 μˆ˜μ€€μ˜ 인간(κ·Έλžœλ“œλ§ˆμŠ€ν„°)을 아직 μ™„λ²½νžˆ λ„˜μ–΄μ„œμ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. κ΅¬κΈ€μ˜ Gemini 3μ‘°μ°¨ 8μœ„κΆŒμ— κ·Έμ³€κ³ , μ‹€μ‹œκ°„ λŒ€νšŒ ν™˜κ²½μ΄ μ•„λ‹Œ κ³Όκ±° 문제λ₯Ό ν‘ΈλŠ” μ‘°κ±΄μ—μ„œμ˜€μ£ . 이 논문은 μ—¬λŸ¬ μ „λ¬Έκ°€ 역할을 ν•˜λŠ” μ—μ΄μ „νŠΈλ“€κ³Ό μƒˆλ‘œμš΄ κ°•ν™” ν•™μŠ΅ 기법(Agentic GRPO)을 κ²°ν•©ν•˜μ—¬, 처음으둜 μ‹€μ‹œκ°„ μ½”λ“œν¬μŠ€(Codeforces) λŒ€νšŒμ—μ„œ λͺ¨λ“  인간 μ°Έκ°€μžλ₯Ό 제치고 1μœ„λ₯Ό μ°¨μ§€ν•œ β€˜κ·Έλžœλ“œμ½”λ“œ(GrandCode)’ μ‹œμŠ€ν…œμ„ μ†Œκ°œν•©λ‹ˆλ‹€. 즉, λ³΅μž‘ν•œ 문제 ν•΄κ²°κ³Ό μ‹€μ‹œκ°„ ν”Όλ“œλ°±μ΄ ν•„μš”ν•œ κ³ λ‚œλ„ μ½”λ”© μ˜μ—­μ—μ„œ AIκ°€ 인간을 μ΄ˆμ›”ν•  수 μžˆμŒμ„ μž…μ¦ν•œ 결정적인 μ—°κ΅¬μž…λ‹ˆλ‹€.

2. 핡심 아이디어 μ‰½κ²Œ μ΄ν•΄ν•˜κΈ°

μΌμƒμƒν™œ λΉ„μœ : β€˜μŠ€νƒ€νŠΈμ—… ν”„λ‘œμ νŠΈ νŒ€β€™

이 λ…Όλ¬Έμ˜ 핡심인 β€˜λ©€ν‹° μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œβ€™μ„ ν•˜λ‚˜μ˜ μ™„λ²½ν•œ ν”„λ‘œμ νŠΈ νŒ€μœΌλ‘œ 상상해 λ³΄μ„Έμš”.

  • 메인 솔버(Main Solver): μ‹€μ œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” β€˜ν•΅μ‹¬ κ°œλ°œμžβ€™μž…λ‹ˆλ‹€. 문제λ₯Ό ν•΄κ²°ν•˜λŠ” μ±…μž„μ„ λ§‘μŠ΅λ‹ˆλ‹€.
  • κ°€μ„€ λͺ¨λΈ(Hypothesis Model): 문제의 μˆ¨κ²¨μ§„ κ·œμΉ™μ΄λ‚˜ ꡬ쑰λ₯Ό λ¨Όμ € μΆ”μΈ‘ν•˜λŠ” β€˜κΈ°νšμžβ€™ λ˜λŠ” β€˜μ „λž΅κ°€β€™μž…λ‹ˆλ‹€. β€œμ΄ λ¬Έμ œλŠ” 이런 μ„±μ§ˆμ„ μ΄μš©ν•˜λ©΄ 풀릴 거야”라고 힌트λ₯Ό λ˜μ Έμ€λ‹ˆλ‹€.
  • μš”μ•½ λͺ¨λΈ(Summarization Model): μ•„μ£Ό κΈ΄ 회의 λ‚΄μš©(문제 풀이 κ³Όμ •)을 ν•΅μ‹¬λ§Œ μš”μ•½ν•΄μ„œ β€˜νšŒμ˜λ‘β€™μ„ μž‘μ„±ν•˜λŠ” β€˜μ„œκΈ°β€™μž…λ‹ˆλ‹€. κ°œλ°œμžκ°€ κΈ°μ–΅ν•  μš©λŸ‰μ„ μ΄ˆκ³Όν•˜μ§€ μ•Šλ„λ‘ λ„μ™€μ€λ‹ˆλ‹€.
  • ν…ŒμŠ€νŠΈ 생성기(Test-case Generator): μ½”λ“œλ₯Ό 죽어라 κ³΅κ²©ν•˜λ©° 버그λ₯Ό μ°ΎλŠ” β€˜QA μ—”μ§€λ‹ˆμ–΄β€™μž…λ‹ˆλ‹€. μ—£μ§€ μΌ€μ΄μŠ€λ₯Ό λ§Œλ“€μ–΄ μ½”λ“œκ°€ 틀리지 μ•Šμ•˜λŠ”μ§€ κ²€μ¦ν•©λ‹ˆλ‹€.

단계별 λ™μž‘ κ³Όμ •

이 μ‹œμŠ€ν…œμ€ 크게 두 λ‹¨κ³„λ‘œ ν•™μŠ΅ν•˜κ³  μž‘λ™ν•©λ‹ˆλ‹€.

  1. 포슀트 νŠΈλ ˆμ΄λ‹(사후 ν›ˆλ ¨) 단계: λ¨Όμ € λ°©λŒ€ν•œ μ½”λ”© 데이터λ₯Ό 기반으둜 κΈ°λ³Έ λŠ₯λ ₯을 ν‚€μ›λ‹ˆλ‹€. κ·Έλ‹€μŒ 질문, μƒκ°μ˜ κ³Όμ •(Thinking), 정닡이 ν¬ν•¨λœ κ³ ν’ˆμ§ˆ λ°μ΄ν„°λ‘œ 지도 ν•™μŠ΅μ„ μ§„ν–‰ν•©λ‹ˆλ‹€. μ΄λ•Œ μ•žμ„œ λ§ν•œ 기획자, μ„œκΈ°, 개발자 λͺ¨λΈμ„ 각각 ν›ˆλ ¨μ‹œν‚€κ³ , 이듀이 ν˜‘λ™ν•˜λ„λ‘ κ°•ν™” ν•™μŠ΅μœΌλ‘œ μ΅œμ ν™”ν•©λ‹ˆλ‹€.
  2. ν…ŒμŠ€νŠΈ νƒ€μž„(μ‹€μ „) 단계: μ‹€μ œ λŒ€νšŒ λ¬Έμ œκ°€ μ£Όμ–΄μ§€λ©΄ μ‰¬μš΄ λ¬Έμ œλŠ” λ°”λ‘œ ν’€μ§€λ§Œ, μ–΄λ €μš΄ λ¬Έμ œλŠ” β€˜μ˜¨λΌμΈ κ°•ν™” ν•™μŠ΅ 루프’λ₯Ό λ•λ‹ˆλ‹€. μ½”λ“œλ₯Ό 짜고, 싀행해보고(Sandbox), 틀리면 μˆ˜μ •ν•˜λŠ” 과정을 μ‹€μ‹œκ°„μœΌλ‘œ λ°˜λ³΅ν•˜λ©° 정닡을 맞μΆ₯λ‹ˆλ‹€.

핡심 μ•Œκ³ λ¦¬μ¦˜: Agentic GRPO

이 λ…Όλ¬Έμ˜ μ•Œκ³  같은 κΈ°μˆ μ€ β€˜Agentic GRPOβ€™μž…λ‹ˆλ‹€. 일반적인 κ°•ν™” ν•™μŠ΅μ€ κ²Œμž„μ΄ λ‹€ λλ‚˜μ•Ό 점수(Reward)λ₯Ό μ£Όκ³  ν•™μŠ΅ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ 코딩은 μ»΄νŒŒμΌν•˜κ³  μ‹€ν–‰ν•˜λŠ” 데 μ‹œκ°„μ΄ 였래 κ±Έλ €, κ²°κ³Όκ°€ λ‚˜μ˜¬ λ•ŒκΉŒμ§€ 기닀리면 ν•™μŠ΅ 효율이 λ–¨μ–΄μ§‘λ‹ˆλ‹€(Off-policy 문제). κ·Έλž˜μ„œ κ·Έλžœλ“œμ½”λ“œλŠ” **β€˜μ¦‰μ‹œ 보상(Immediate Reward)β€˜**κ³Ό β€˜μ§€μ—°λœ μˆ˜μ •(Delayed Correction)’ 방식을 μ”λ‹ˆλ‹€. 마치 μ‹œν—˜μ„ μΉ  λ•Œ 문제λ₯Ό ν•˜λ‚˜ ν’€ λ•Œλ§ˆλ‹€ λ°”λ‘œ β€œλ”©λ™λŽ…, 이건 정닡이야”라고 ν”Όλ“œλ°±μ„ μ£Όμ–΄ λ°”λ‘œλ°”λ‘œ κ³ μΉ  수 있게 ν•˜κ³ , λ‚˜μ€‘μ— μ΅œμ’… κ²°κ³Όκ°€ λ‚˜μ˜€λ©΄ κ·Έλ•Œ β€œλ°©κΈˆ μ€€ μ μˆ˜κ°€ 쑰금 ν‹€λ Έλ„€, μ΄λ ‡κ²Œ μˆ˜μ •ν•΄β€λΌκ³  μ •ν™•ν•˜κ²Œ λ§žμΆ°μ£ΌλŠ” λ°©μ‹μž…λ‹ˆλ‹€. 이λ₯Ό 톡해 κΈ΄ 풀이 κ³Όμ •μ—μ„œλ„ ν•™μŠ΅ 속도λ₯Ό μœ μ§€ν•©λ‹ˆλ‹€.

3. μ‹€ν—˜ κ²°κ³Ό 뢄석

μ–΄λ–€ λ²€μΉ˜λ§ˆν¬μ—μ„œ ν…ŒμŠ€νŠΈν–ˆλ‚˜?

이 논문은 μ‹€μ œ 경쟁 ν”„λ‘œκ·Έλž˜λ° ν”Œλž«νΌμΈ **μ½”λ“œν¬μŠ€(Codeforces)**의 **졜근 3번의 λΌμš΄λ“œ(Live Contest)**에 μ‹€μ œ μ°Έκ°€μžλ‘œ μ°Έμ—¬ν•˜μ—¬ μ„±λŠ₯을 κ²€μ¦ν–ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ κΈ°μ‘΄ 벀치마크 λ°μ΄ν„°μ…‹μ—μ„œλ„ μ˜€ν”„λΌμΈ μ„±λŠ₯을 μΈ‘μ •ν–ˆμŠ΅λ‹ˆλ‹€.

κΈ°μ‘΄ SOTA λŒ€λΉ„ μ–Όλ§ˆλ‚˜ μ’‹μ•„μ‘Œλ‚˜?

  • AlphaCode: μƒμœ„ 54% μˆ˜μ€€ (μ•½ 1300점)
  • AlphaCode 2: μƒμœ„ 85% μˆ˜μ€€
  • OpenAI o3: 전체 175μœ„
  • Gemini 3 Deep Think: 8μœ„ (단, μ‹€μ‹œκ°„ λŒ€νšŒκ°€ μ•„λ‹Œ κ³Όκ±° 문제 풀이 κΈ°μ€€)
  • GrandCode (이 λ…Όλ¬Έ): 졜근 3번의 μ½”λ“œν¬μŠ€ 라이브 λŒ€νšŒμ—μ„œ λͺ¨λ‘ 1μœ„ 기둝. λͺ¨λ“  인간 μ°Έκ°€μž, 전섀적인 κ·Έλžœλ“œλ§ˆμŠ€ν„°λ“€μ„ 제치고 압도적인 μ„±λŠ₯을 λ³΄μ˜€μŠ΅λ‹ˆλ‹€.

μ£Όλͺ©ν•  λ§Œν•œ μ„±κ³Ό

λ‹¨μˆœνžˆ μ½”λ“œλ₯Ό μƒμ„±ν•˜λŠ” λŠ₯λ ₯을 λ„˜μ–΄, μ–΄λ €μš΄ 문제(Hard Problems)일수둝 μ„±κ³Όκ°€ 더 크게 ν–₯μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ—μ΄μ „νŠΈλ“€μ΄ μ„œλ‘œ ν˜‘λ ₯ν•˜κ³  슀슀둜 λ””λ²„κΉ…ν•˜λŠ” 과정이 λ³΅μž‘ν•œ λ¬Έμ œμ—μ„œ 특히 νš¨κ³Όμ μž„μ„ μ˜λ―Έν•©λ‹ˆλ‹€. λ˜ν•œ, 온라인 ν…ŒμŠ€νŠΈ νƒ€μž„ κ°•ν™” ν•™μŠ΅ 루프가 μ‹€μ „ μ„±λŠ₯에 크게 κΈ°μ—¬ν–ˆμŒμ„ μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€.

4. ν•œκ³„μ κ³Ό ν–₯ν›„ 연ꡬ λ°©ν–₯

μ €μžκ°€ μ–ΈκΈ‰ν•œ ν•œκ³„

λ…Όλ¬Έμ˜ κ²°λ‘  λΆ€λΆ„μ—μ„œλŠ” 직접적인 ν•œκ³„μ μ„ ꡬ체적으둜 λ‚˜μ—΄ν•˜μ§€λŠ” μ•Šμ•˜μ§€λ§Œ, μ‹œμŠ€ν…œμ˜ λ³΅μž‘μ„±μ—μ„œ μ˜€λŠ” λΆ€ν•˜κ°€ μ•”μ‹œλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ—¬λŸ¬ μ—μ΄μ „νŠΈ(솔버, κ°€μ„€, μš”μ•½, ν…ŒμŠ€νŠΈ 생성기)κ°€ λ™μ‹œμ— λŒμ•„κ°€κ³ , μ½”λ“œλ₯Ό μ—¬λŸ¬ 번 μ‹€ν–‰ν•΄μ•Ό ν•˜λ―€λ‘œ μ—°μ‚° λΉ„μš©μ΄ 맀우 ν½λ‹ˆλ‹€.

κ°œμ„  κ°€λŠ₯μ„± 및 ν–₯ν›„ 연ꡬ

  1. 계산 νš¨μœ¨μ„±: ν˜„μž¬λŠ” μ—¬λŸ¬ λͺ¨λΈκ³Ό λ‹€μˆ˜μ˜ μ½”λ“œ 싀행이 ν•„μš”ν•˜λ―€λ‘œ, 이λ₯Ό κ²½λŸ‰ν™”ν•˜μ—¬ 더 적은 λ¦¬μ†ŒμŠ€λ‘œ λΉ„μŠ·ν•œ μ„±λŠ₯을 λ‚΄λŠ” 연ꡬ가 ν•„μš”ν•©λ‹ˆλ‹€.
  2. 도메인 ν™•μž₯: 경쟁 ν”„λ‘œκ·Έλž˜λ°λΏλ§Œ μ•„λ‹ˆλΌ μ‹€μ œ μ†Œν”„νŠΈμ›¨μ–΄ 개발, λ³΅μž‘ν•œ μˆ˜ν•™ 증λͺ…, 과학적 발견 λ“± 더 κ΄‘λ²”μœ„ν•œ μ˜μ—­μœΌλ‘œ 이 λ©€ν‹° μ—μ΄μ „νŠΈ ν”„λ ˆμž„μ›Œν¬λ₯Ό ν™•μž₯ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.
  3. Off-policy Drift ν•΄κ²°: Agentic GRPOκ°€ 이 문제λ₯Ό μ™„ν™”ν–ˆμ§€λ§Œ, μ—¬μ „νžˆ κΈ΄ 둀아웃(Long rollout) κ³Όμ •μ—μ„œμ˜ μ •μ±… μ•ˆμ •μ„±μ„ λ”μš± λ†’μ΄λŠ” 연ꡬ가 계속될 κ²ƒμž…λ‹ˆλ‹€.

5. 싀무 적용 κ°€λŠ₯μ„±

어디에 λ°”λ‘œ 적용 κ°€λŠ₯?

  • μžλ™ν™”λœ μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈ 도ꡬ: λ³΅μž‘ν•œ λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ κ°€μ§„ μ½”λ“œμ—μ„œ κ°œλ°œμžκ°€ λ†“μΉ˜λŠ” μ—£μ§€ μΌ€μ΄μŠ€λ₯Ό μ°Ύμ•„λ‚΄λŠ” QA λ΄‡μœΌλ‘œ ν™œμš© κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • κ³ κΈ‰ μ½”λ”© νŠœν„°λ§ μ‹œμŠ€ν…œ: λ‹¨μˆœνžˆ μ •λ‹΅ μ½”λ“œλ₯Ό λ³΄μ—¬μ£ΌλŠ” 것이 μ•„λ‹ˆλΌ, 문제의 가섀을 μ„Έμš°κ³  λ‹¨κ³„λ³„λ‘œ λ””λ²„κΉ…ν•˜λŠ” 과정을 ν•™μŠ΅μƒμ—κ²Œ κ°€λ₯΄μ³μ£ΌλŠ” AI νŠœν„°λ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ ˆκ±°μ‹œ μ½”λ“œ λ¦¬νŒ©ν† λ§ 및 디버깅: κΈ΄ λ§₯락을 μ΄ν•΄ν•˜κ³  μš”μ•½ν•˜λŠ” λŠ₯λ ₯(Summarization model)을 ν™œμš©ν•΄ λ°©λŒ€ν•œ λ ˆκ±°μ‹œ μ½”λ“œμ˜ ꡬ쑰λ₯Ό νŒŒμ•…ν•˜κ³  버그λ₯Ό μˆ˜μ •ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•„μš”ν•œ λ¦¬μ†ŒμŠ€

  • ν•˜λ“œμ›¨μ–΄: μ—¬λŸ¬ 개의 λŒ€κ·œλͺ¨ μ–Έμ–΄ λͺ¨λΈ(LLM)κ³Ό μ½”λ“œ μ‹€ν–‰ ν™˜κ²½(Sandbox)을 λ™μ‹œμ— μš΄μ˜ν•΄μ•Ό ν•˜λ―€λ‘œ, κ³ μ„±λŠ₯ GPU ν΄λŸ¬μŠ€ν„°(예: H100 λ˜λŠ” A100 λ‹€μˆ˜)κ°€ ν•„μˆ˜μ μž…λ‹ˆλ‹€.
  • 데이터: 경쟁 ν”„λ‘œκ·Έλž˜λ° 문제뿐만 μ•„λ‹ˆλΌ κ³ ν’ˆμ§ˆμ˜ μΆ”λ‘ (Reasoning) 트레이슀 데이터가 ν•„μš”ν•©λ‹ˆλ‹€.

6. 이 논문을 μ΄ν•΄ν•˜κΈ° μœ„ν•œ 사전 지식

  1. κ°•ν™” ν•™μŠ΅(Reinforcement Learning): μ—μ΄μ „νŠΈκ°€ ν™˜κ²½κ³Ό μƒν˜Έμž‘μš©ν•˜λ©° 보상을 μ΅œλŒ€ν™”ν•˜λŠ” 정책을 ν•™μŠ΅ν•˜λŠ” λ¨Έμ‹ λŸ¬λ‹μ˜ ν•œ λΆ„μ•Όμž…λ‹ˆλ‹€.
  2. LRL(Large Language Model): λ°©λŒ€ν•œ ν…μŠ€νŠΈ λ°μ΄ν„°λ‘œ 사전 ν›ˆλ ¨λœ κ±°λŒ€ μ–Έμ–΄ λͺ¨λΈλ‘œ, ν…μŠ€νŠΈ 생성 및 이해에 μ‚¬μš©λ©λ‹ˆλ‹€.
  3. μ—μ΄μ „νŠΈ(Agent): μ‚¬μš©μžμ˜ λͺ©ν‘œλ₯Ό λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ 자율적으둜 ν–‰λ™ν•˜κ³  결정을 λ‚΄λ¦¬λŠ” μ‹œμŠ€ν…œ λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄μž…λ‹ˆλ‹€.
  4. GRPO(Group Relative Policy Optimization): 기쑴의 PPO(Proximal Policy Optimization) 등을 κ°œμ„ ν•œ μ •μ±… μ΅œμ ν™” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ, κ·Έλ£Ή λ‹¨μœ„λ‘œ μƒλŒ€μ μΈ 정책을 μ—…λ°μ΄νŠΈν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.
  5. Off-policy Drift: ν•™μŠ΅ν•˜λ €λŠ” μ •μ±…(Policy)κ³Ό μ‹€μ œ 데이터λ₯Ό μƒμ„±ν•˜λŠ” 정책이 λ‹€λ₯Ό λ•Œ λ°œμƒν•˜λŠ” ν•™μŠ΅ λΆˆμ•ˆμ • ν˜„μƒμž…λ‹ˆλ‹€.
  6. 체인 였브 쏘트(Chain of Thought): λͺ¨λΈμ΄ 닡을 λ°”λ‘œ 내놓기보닀 쀑간 λ‹¨κ³„μ˜ μΆ”λ‘  과정을 μƒκ°ν•˜λ“―μ΄ μ μ–΄μ„œ λ³΅μž‘ν•œ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” κΈ°λ²•μž…λ‹ˆλ‹€.
  7. μ½”λ“œν¬μŠ€(Codeforces): μ „ 세계 κ°œλ°œμžλ“€μ΄ μ•Œκ³ λ¦¬μ¦˜ 문제λ₯Ό ν’€κ³  μ‹€λ ₯을 κ²¨λ£¨λŠ” 유λͺ…ν•œ 온라인 μ €μ§€(Online Judge) ν”Œλž«νΌμž…λ‹ˆλ‹€.

πŸ“š 이번 μ£Ό κ΄€λ ¨ Deep Dive

μˆœμœ„λ…Όλ¬ΈDeep Dive
πŸ₯‡Adam’s Law: Textual Frequency Law o…DD-062
πŸ₯ˆGrandCode: Achieving Grandmaster Leβ€¦πŸ“ ν˜„μž¬ λ¬Έμ„œ
πŸ₯‰Rethinking Generalization in Reason…DD-066
4.InCoder-32B-Thinking: Industrial Co…DD-064
5.Video-MME-v2: Towards the Next Stag…DD-063

πŸ“… 생성일: 2026-04-12 | πŸ€– GLM-4.7 Deep Dive