Codegen: An open large language model for code with multi-turn program synthesis

์ €์ž: Erik Nijkamp, Bo Pang, Hiroaki Hayashi, Lifu Tu, Huan Wang, Yingbo Zhou, Silvio Savarese, Caiming Xiong | ๋‚ ์งœ: 2023 (ICLR ๋ฐœํ‘œ) | DOI: arXiv:2203.13474 📄 PDF


Essence

๋ณธ ๋…ผ๋ฌธ์€ ํ”„๋กœ๊ทธ๋žจ ํ•ฉ์„ฑ(program synthesis) ์ž‘์—…์— ์ตœ์ ํ™”๋œ 16.1B ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทœ๋ชจ์˜ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ CodeGen ๊ณ„์—ด์„ ์ œ์‹œํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์ž์—ฐ์–ด๋กœ ๋‹จ๊ณ„์  ๋ช…๋ น์„ ์ œ๊ณตํ•˜๋Š” ๋‹ค์ค‘ ํ„ด ํ”„๋กœ๊ทธ๋žจ ํ•ฉ์„ฑ(multi-turn program synthesis) ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋„์ž…ํ•˜์—ฌ ๋‹จ์ผ ํ„ด ๋ฐฉ์‹ ๋Œ€๋น„ ๋ช…ํ™•ํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ž…์ฆํ•œ๋‹ค.

Motivation

Achievement

Figure 1

์ด๋ฉ”์ผ ์ฃผ์†Œ์—์„œ ์‚ฌ์šฉ์ž๋ช… ์ถ”์ถœํ•˜๋Š” ๋‹ค์ค‘ ํ„ด ํ”„๋กœ๊ทธ๋žจ ํ•ฉ์„ฑ์˜ ์˜ˆ์‹œ

  1. ๋‹จ์ผ ํ„ด ์„ฑ๋Šฅ: HumanEval ๋ฒค์น˜๋งˆํฌ์—์„œ CODEGEN-MONO 16.1B๊ฐ€ pass@1 = 29.28%, pass@100 = 75.00%๋กœ ๋‹ฌ์„ฑํ•˜์—ฌ GPT-Neo/GPT-J ๋Œ€๋น„ ํ˜„์ €ํžˆ ์šฐ์ˆ˜ํ•˜๊ณ  Codex 300M/2.5B ์ˆ˜์ค€ ์„ฑ๋Šฅ ๋ฐœํœ˜.
  2. ๋‹ค์ค‘ ํ„ด ์šฐ์ˆ˜์„ฑ: MTPB ๋ฒค์น˜๋งˆํฌ์—์„œ ๋™์ผํ•œ ์˜๋„๋ฅผ ๋‹ค์ค‘ ํ„ด์œผ๋กœ ์ œ๊ณตํ–ˆ์„ ๋•Œ ๋‹จ์ผ ํ„ด ๋Œ€๋น„ ํ‰๊ท  ํ†ต๊ณผ์œจ 30% ์ด์ƒ ํ–ฅ์ƒ (Figure 2 ์ฐธ์กฐ). ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ถ€ ๋ฌธ์ œ์—์„œ ๋‹จ์ผ ํ„ด 15% โ†’ ๋‹ค์ค‘ ํ„ด 45% ์ˆ˜์ค€์˜ ๊ฐœ์„  ๊ด€์ฐฐ.
  3. ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ: 16.1B๊นŒ์ง€์˜ ๋ชจ๋“  ๋ชจ๋ธ ์ฒดํฌํฌ์ธํŠธ ๋ฐ TPU-v4 ์ตœ์ ํ™” ํ›ˆ๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ณต๊ฐœ๋กœ ํ•™์ˆ  ์ปค๋ฎค๋‹ˆํ‹ฐ ์ ‘๊ทผ์„ฑ ํ™•๋Œ€.

How

Figure 2

๋‹จ์ผ ํ„ด vs ๋‹ค์ค‘ ํ„ด ํ‰๊ท  ํ†ต๊ณผ์œจ ์ฐจ์ด

Originality

Limitation & Further Study

Evaluation

Novelty: 4/5 Technical Soundness: 4/5 Significance: 5/5 Clarity: 4/5 Overall: 4/5

์ดํ‰: CodeGen์€ ํ”„๋กœ๊ทธ๋žจ ํ•ฉ์„ฑ์˜ ๋ฏผ์ฃผํ™”๋ฅผ ์œ„ํ•œ ์ฒซ ๊ณ ํ’ˆ์งˆ ์˜คํ”ˆ์†Œ์Šค ๋ชจ๋ธ๋กœ์„œ, ๋‹ค์ค‘ ํ„ด ํŒจ๋Ÿฌ๋‹ค์ž„ ๋„์ž…๊ณผ ์ „์šฉ ๋ฒค์น˜๋งˆํฌ ์ œ์‹œ๋ฅผ ํ†ตํ•ด ํ•™์ˆ  ๊ธฐ์—ฌ๋„๋ฅผ ํ™•๋ณดํ–ˆ์œผ๋‚˜, ์„ฑ๋Šฅ ๊ฒฝ์Ÿ๋ ฅ๊ณผ ๋‹ค์ค‘ ํ„ด ์„ฑ๋Šฅ ํ–ฅ์ƒ์˜ ์›์ธ์— ๋Œ€ํ•œ ๊นŠ์ด ์žˆ๋Š” ๋ถ„์„์ด ๋” ๊ฐ•ํ™”๋  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

๊ฐ™์ด ๋ณด๋ฉด ์ข‹์€ ๋…ผ๋ฌธ

๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ LLM ์‚ฌ์ „ํ•™์Šต ๋ฐฉ๋ฒ•๋ก ์˜ ์ด๋ก ์  ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
CodeGen ๋…ผ๋ฌธ์€ ์†Œํ”„ํŠธ์›จ์–ด ์ฝ”๋“œ ์ƒ์„ฑ ๋Œ€ํ˜•์–ธ์–ด๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ LLM ํ™œ์šฉ ์‚ฌ๋ก€๋ฅผ ๋น„๊ต๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
Code llama ๋…ผ๋ฌธ์€ ์ฝ”๋“œ ์ƒ์„ฑ์„ ์œ„ํ•œ ์˜คํ”ˆ LLM ์—ฐ๊ตฌ๋กœ, Codegen์˜ ๋ฉ€ํ‹ฐํ„ด ํ”„๋กœ๊ทธ๋žจ ํ•ฉ์„ฑ๊ณผ ์ฐจ๋ณ„์  ์ ‘๊ทผ๋ฒ•์„ ์ œ์‹œํ•œ๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
325๋ฒˆ ๋…ผ๋ฌธ์€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์•ก์…˜ ์—ฐ๊ณ„๊ฐ€ LLM ์—์ด์ „ํŠธ์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ์‹ค์ œ ์‚ฌ๋ก€๋ฅผ ๋ณด์—ฌ์ฃผ์–ด, 231์˜ ๋ฉ€ํ‹ฐํ„ด ํ•ฉ์„ฑ ํŒจ๋Ÿฌ๋‹ค์ž„ ํšจ๊ณผ๋ฅผ ์‘์šฉ ๊ด€์ ์—์„œ ํ™•์žฅ์‹œ์ผœ์ค๋‹ˆ๋‹ค.
← ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๐ŸŽง Audio Overview

์ด ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ํŒŸ์บ์ŠคํŠธํ˜• ์˜ค๋””์˜ค๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. (Gemini ยท ํ‚ค๋Š” ๋ธŒ๋ผ์šฐ์ €์—๋งŒ ์ €์žฅ ยท ์™„์„ฑ๋ณธ์€ ์ด๋ฉ”์ผ๋กœ๋„ ์ „์†ก)
โ–ธ ๊ณ ๊ธ‰: ๊ตฌ์„ฑ ๋ฐฉํ–ฅ(๋Œ€๋ณธ ์ž‘์„ฑ ์ง€์นจ) ์ง์ ‘ ์ˆ˜์ •