Second Thoughts: 모델 출력 피드백 루프를 통한 코드 생성 성능 개선 실험
"Second Thoughts" Been playing with adding a small transformer that reads output near the end of generation, and feeds it back near the top as a refinement loop. A quick test of 1.7B model showed drastic improvement in focused tasks (like coding)
핵심 요약
1.7B 모델의 출력 결과를 피드백 루프로 재입력하여 코드 생성 성능을 획기적으로 개선한 실험적 시도.
- 리파인먼트 루프 — 모델 출력 끝부분을 읽어 다시 상단으로 피드백하는 구조를 적용함.
- 사이드카 모델 — 1.7B 모델의 구문 정확도를 높이기 위해 별도의 소형 모델을 보조로 활용함.
- 성능 개선 — 코딩 작업에서 소형 모델의 한계를 극복하고 성능을 크게 향상시킴.
- 향후 계획 — 9B 모델로 확장하여 HumanEval 전체 데이터셋을 통한 검증을 준비 중임.
1.7B 모델로도 코드를 꽤 뽑아낼 수 있어서, 9B 모델로 학습을 돌리고 있습니다. 이번에는 HumanEval 전체를 다시 돌려볼 생각입니다. 기사에 제 작업 과정 대부분을 담았지만, 정리되는 대로 깃허브에 올릴 예정입니다.
Repeat Yourself의 dnhkng.github.io/posts/rys/ 신경해부학 연구에서 영감을 받았습니다. 이 연구 덕분에 제 '역방향 LLM' 사이드카 모델을 붙일 시작점과 끝점을 찾을 수 있었습니다(끝부분을 읽어서 출력을 다시 상단으로 주입하는 루프 방식이죠). 이번 경우에는 구문에 집중했고, 아주 작은 모델의 성능을 획기적으로 개선했습니다.
또한 처음 20개만 돌려보는 대신, 두 모델 모두에 전체 HumanEval 데이터셋을 돌려볼 예정입니다.

