← 최신 논문
💻 computer science

Reward-Free Code Alignment from Pretrained or Fine-Tuned LLM: Unpacking the Trade-offs for Code Generation

이 실증적 연구는 코드 생성 작업을 위해 사전 학습된(pretrained) 모델과 지시어 튜닝된(instruction-tuned) LLM 모두에 보상 없는 정렬 기술(DPO 및 BoNBoN)을 적용할 때 발생하는 트레이드오프를 조사하며, 사전 학습된 모델을 정렬하는 것이 더 큰 상대적 개선을 가져오는 반면, 지시어 튜닝된 모델에서 시작하는 것이 더 작은 이득이나 잠재적 성능 저하를 제공함에도 불구하고 일반적으로 더 높은 절대적 정확도를 유지한다는 것을 밝혀낸다.

원저자: Gias Uddin, Sanjeepan Sivapiran

게시일 2026-06-30
📖 4 분 읽기☕ 가벼운 읽기

원저자: Gias Uddin, Sanjeepan Sivapiran

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신에게 천부적인 재능을 가졌지만 아직 "도로의 규칙"을 배우지 못한, 코드를 쓸 줄은 알지만 다듬어지지 않은 인재가 있다고 상상해 보세요. 그들은 작동하는 프로그램을 만들 수는 있겠지만, 지저져 있거나 보안에 취약하거나 다른 사람이 읽기 어려울 수 있습니다. 이것이 바로 **사전 학습된 대규모 언어 모델(Pretrained LLM)**의 모습입니다. 똑똑하지만 아직 세련되지 못한 상태죠.

이제, 미세 조정된(Fine-Tuned) LLM을 상상해 보세요. 이 모델은 동일한 인재이지만, 이미 코딩 부트캠프를 마친 상태입니다. 지시 사항을 따르고 깨끗한 코드를 작성하는 법을 알고 있지만, 다소 경직되어 있거나 기존 방식에 갇혀 있을 수 있습니다.

이 논문은 중요한 질문을 던집니다: 우리는 어떻게 이 AI 모델들이 더 "나은" 코더가 되도록 가르칠 수 있을까요? 구체적으로, 우리는 원석(사전 학습 단계)에서부터 시작하여 코딩의 규칙을 먼저 가르쳐야 할까요, 아니면 이미 코딩을 배운 후(부트캠프 졸업생 단계)에 규칙을 가르쳐야 할까요?

연구자들은 이 과정을 **"정렬(Alignment)"**이라고 부릅니다. 이는 모델에게 단순히 텍스트뿐만 아니라 코드에 대해서도 "좋은" 답변을 "나쁜" 답변보다 선호하도록 가르치는 것과 같습니다.

두 가지 훈련 경로

이 연구는 두 가지 특정 교수법(DPOBoNBoN)을 사용하여 두 가지 서로 다른 훈련 경로를 비교했습니다.

  1. "원석" 경로 (Pretrained-to-Aligned): 아무것도 배우지 않은 원시 모델을 가져와서 코딩의 규칙과 안전성을 먼저 가르칩니다.

    • 비유: 가공되지 않은 예술가를 데려와서 명작을 그리기도 전에 원근법과 색채 이론의 규칙을 먼저 가르치는 것과 같습니다.
    • 결과: 이 모델들은 "소프트 스킬"(코드 가독성, 스타일, 보안 등)에서 엄청난 향상을 보였습니다. 그들의 사고가 유연했기 때문에 규칙을 매우 잘 배웠습니다. 하지만 시작점 자체가 매우 낮았기 때문에, 큰 폭의 개선에도 불구하고 실제로 가장 어려운 코딩 퍼즐을 푸는 데 있어서는 부트캠프 졸업생들보다 항상 뛰어났던 것은 아닙니다.
  2. "부트캠프 졸업생" 경로 (Fine-Tuned-to-Aligned): 이미 코딩을 알고 있는 모델을 가져와서 안전성과 스타일의 규칙을 가르칩니다.

    • 비비유: 이미 훌륭한 요리를 하는 전문 셰프를 데려와서 새로운 위생 규칙을 가르치려는 것과 같습니다.
    • 결과: 이 모델들은 이미 문제를 해결하는 능력이 매우 뛰어났습니다. 정렬 과정을 거쳤을 때, 이들은 이미 정점에 도달해 있었기 때문에 크게 개선되지 않았습니다. 사실, 때로는 훈련이 역효과를 내어 문제를 해결하는 능력이 오히려 저하되기도 했습니다(마치 문법을 배우는 데 너무 집중한 나머지 숫자를 더하는 법을 잊어버리는 학생과 같은 "파괴적 망각" 현상입니다).

두 가지 종류의 "더 나음"

연구자들은 두 가지 다른 종류의 코드 품질을 살펴보았습니다:

  • 기능적 요구사항 (The "Does it work?" 테스트): 코드가 실제로 실행되는가? 수학 문제를 해결하는가?
    • 발견: 이는 정렬로 고치기 어렵습니다. 때로는 좋아지기도 하고, 때로는 나빠지기도 합니다. 이는 마치 러너에게 신발을 바꿔줌으로써 더 빨리 달리게 하려는 것과 같습니다. 때로는 도움이 되지만, 때로는 발을 걸어 넘어뜨리기도 합니다.
  • 비기능적 요구사항 (The "Is it a good code?" 테스트): 코드가 안전한가? 읽기 쉬운가? 스타일 가이드를 따르는가?
    • 발견: 여기가 바로 정렬이 빛을 발하는 지점입니다! 모델들은 여기서 일관되게 개선되었습니다. 이는 작가에게 더 좋은 문법과 구두점을 사용하도록 가르치는 것과 같습니다. 어떤 모델이든 상관없이 거의 모든 모델이 이 부분에서 발전했습니다.

거대한 트레이드오프: 유연성 vs 안정성

논문은 무엇이 일어났는지를 설명하기 위해 **"안정성-가소성 딜레마(Stability-Plasticity Dilemma)"**라는 개념을 사용합니다.

  • 원시 모델 (높은 가소성): 이들은 점토와 같습니다. 새로운 형태로 쉽게 빚을 수 있지만(새로운 규칙을 빠르게 학습), 너무 세게 밀어붙이면 원래의 형태를 잃어버릴 수 있습니다(코딩하는 법을 잊어버림). 이들은 품질 면에서 가장 큰 백분율 상승을 보여주었습니다.
  • 미세 조정된 모델 (높은 안정성): 이들은 단단한 돌과 같습니다. 형태를 잘 유지하지만(코딩 기술을 유지함), 모양을 바꾸기가 어렵습니다(새로운 규칙을 배우기 위해 기존 것을 깨뜨리지 않고는 배우기 힘듦). 이들은 높은 지점에서 시작하여 높은 수준을 유지했지만, 크게 개선되지는 않았습니다.

실무자는 무엇을 해야 하는가? (9가지 권장 사항)

다섯 가지 AI 모델에 대한 실험을 바탕으로, 저자들은 아홉 가지 조언을 제공합니다:

  1. 목표에 따라 경로를 선택하세요: 가장 큰 상대적 개선(나쁜 모델을 훨씬 좋게 만드는 것)을 원한다면 원시 모델부터 시작하세요. 이미 신뢰할 수 있고 약간의 다듬질만 필요한 모델을 원한다면 미세 조정된 모델부터 시작하세요.
  2. "소프트 스킬"에 먼저 집중하세요: 모델에게 더 안전하고 읽기 쉬운 코드를 쓰는 법(비기능적 요구사항)을 가르치는 것이, 더 어려운 수학 문제를 풀도록 강요하는 것(기능적 요구사항)보다 더 안전하고 성공적입니다.
  3. 적절한 모델을 선택하세요: 일반적인 채팅 모델보다 특화된 코딩 모델(CodeLlama 또는 DeepSeek 등)이 더 잘 학습합니다. 큰 모델(7B 파라미터 이상)이 일반적으로 작은 모델보다 더 낫습니다.
  4. 교수법을 추측하지 마세요: 모델마다 선호하는 선생님이 다릅니다. 어떤 모델(Llama 등)은 한 가지 방법(DPO)으로 가장 잘 배우고, 다른 모델(DeepSeek 등)은 다른 방법(BoNBoN)을 선호합니다. 반드시 테스트해야 합니다.
  5. 경고 신호를 주시하세요: 만약 초기 "연습" 단계(지도 미세 조정, SFT)에서 모델의 성능이 떨어지기 시작한다면, 즉시 멈추세요! 이는 전체 훈련이 실패할 것이라는 강력한 징후입니다.
  6. 모든 차원을 확인하세요: 코드가 실행되는지만 확인하지 말고, 가독성이나 보안성도 확인하세요. 어떤 모델은 한 가지 측면에서는 좋아지지만 다른 측면에서는 나빠질 수도 있습니다.

핵심 요약

AI 코더를 더 안전하고 전문적으로 만들고 싶다면, 원시 모델에서 시작하여 처음부터 규칙을 가르치는 것이 정렬에 가장 효과적입니다. 그러나 이미 똑똑하고 미세 조정된 코더를 가지고 있다면, 그것을 "정렬"하려고 할 때 매우 주의해야 합니다. 자칫하면 문제를 해결하는 능력을 망가뜨릴 수 있기 때문입니다.

결론적으로, 정렬은 강력한 도구이지만 마법의 지팡이는 아닙니다. 상황을 악화시키지 않으려면 시작 모델, 교수법, 그리고 구체적인 목표(안전성 vs 문제 해결 능력)를 신중하게 선택해야 합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →