Evaluating large language models trained on code

์ €์ž: Mark Chen, Jerry Tworek, Heewoo Jun, Qiming Yuan, Henrique Pondรฉ de Oliveira Pinto, Jared Kaplan, Harrison Edwards, Yuri Burda, Nicholas Joseph, Greg Brockman, Alex Ray, Raul Puri, Gretchen Krueger, Michael Petrov, Heidy Khlaaf, Girish Sastry, Pamela Mishkin, Brooke Chan, Scott Gray, Nick Ryder | ๋‚ ์งœ: 2021 | DOI: N/A 📄 PDF


Essence

Figure 1

HumanEval ๋ฐ์ดํ„ฐ์…‹์—์„œ ๋ชจ๋ธ ํฌ๊ธฐ์— ๋”ฐ๋ฅธ ํ†ต๊ณผ์œจ. ๋‹จ์ผ ์ƒ˜ํ”Œ ์ƒ์„ฑ ์‹œ Codex-12B๋Š” 28.8%, 100๊ฐœ ์ƒ˜ํ”Œ ์ƒ์„ฑ ํ›„ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ ์ƒ˜ํ”Œ ์„ ํƒ ์‹œ 77.5% ๋‹ฌ์„ฑ

GitHub ์ฝ”๋“œ๋กœ ๋ฏธ์„ธ์กฐ์ •๋œ GPT ๊ธฐ๋ฐ˜์˜ Codex ๋ชจ๋ธ์„ ์ œ์‹œํ•˜๊ณ , ์ƒˆ๋กœ์šด ๋ฒค์น˜๋งˆํฌ์ธ HumanEval์„ ํ†ตํ•ด ํ•จ์ˆ˜ํ˜• ์ •ํ™•์„ฑ(functional correctness) ๊ธฐ๋ฐ˜์˜ ํ‰๊ฐ€ ์ฒด๊ณ„๋ฅผ ์ œ์•ˆํ•œ ๋…ผ๋ฌธ์ด๋‹ค. Codex๋Š” ๋„ํ์ŠคํŠธ๋ง(docstring)์œผ๋กœ๋ถ€ํ„ฐ Python ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋Šฅ๋ ฅ์—์„œ ๊ธฐ์กด ๋ชจ๋ธ๋“ค์„ ํฌ๊ฒŒ ๋Šฅ๊ฐ€ํ•œ๋‹ค.

Motivation

Achievement

Figure 2

HumanEval ๋ฐ์ดํ„ฐ์…‹์˜ 3๊ฐœ ๋ฌธ์ œ ์˜ˆ์‹œ์™€ Codex-12B๊ฐ€ ์ƒ์„ฑํ•œ ์ •๋‹ต. ๋„ํ์ŠคํŠธ๋ง๋งŒ์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์™„์ „ํžˆ ๊ตฌํ˜„ํ•˜๋Š” ์˜ˆ์‹œ ์ œ์‹œ

  1. ์„ฑ๋Šฅ ํ–ฅ์ƒ: ๋‹จ์ผ ์ƒ˜ํ”Œ ๊ธฐ์ค€ Codex-12B๋Š” 28.8% ํ•ด๊ฒฐ๋ฅ (GPT-3: 0%, GPT-J: 11.4%), 100๊ฐœ ์ƒ˜ํ”Œ ์ƒ์„ฑ ์‹œ Codex-S๋Š” 77.5% ๋‹ฌ์„ฑ. ๋ชจ๋ธ ํฌ๊ธฐ ํ™•๋Œ€(300M โ†’ 12B)์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ์Šค์ผ€์ผ๋ง ํ™•์ธ.
  2. ๋ฉ”ํŠธ๋ฆญ ๊ธฐ์—ฌ: pass@k ๋ฉ”ํŠธ๋ฆญ์˜ ๋ถˆํŽธ ์ถ”์ •๋Ÿ‰(unbiased estimator) ์ œ์•ˆ์œผ๋กœ ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฐ˜ ํ‰๊ฐ€์˜ ๋ถ„์‚ฐ(variance) ๋ฌธ์ œ ํ•ด๊ฒฐ. ํ•จ์ˆ˜ํ˜• ์ •ํ™•์„ฑ์ด BLEU ์ ์ˆ˜๋ณด๋‹ค ์‹ ๋ขฐ์„ฑ ๋†’์Œ์„ ์ž…์ฆ.
  3. ํ‰๊ฐ€ ์ž์‚ฐ ๊ณต๊ฐœ: 164๊ฐœ ๋ฌธ์ œ์˜ HumanEval ๋ฒค์น˜๋งˆํฌ์™€ ํ‰๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœํ•˜์—ฌ ์žฌํ˜„์„ฑ ํ™•๋ณด.
  4. ์‹ค์šฉ์  ์‘์šฉ: ๋กœ๊ทธ ํ™•๋ฅ (log-probability) ๊ธฐ๋ฐ˜ ์ƒ˜ํ”Œ ์„ ํƒ์œผ๋กœ 44.5% ํ•ด๊ฒฐ๋ฅ  ๋‹ฌ์„ฑ - ๋ชจ๋“  ์ƒ˜ํ”Œ์„ ์™„์ „ ํ‰๊ฐ€ํ•  ์ˆ˜ ์—†๋Š” ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ ํ™œ์šฉ ๊ฐ€๋Šฅ.

How

```

pass@k = 1 - โˆ(1 - k/(n-c+i)) for i=1 to k

```

์—ฌ๊ธฐ์„œ n=์ƒ์„ฑ ์ƒ˜ํ”Œ ์ˆ˜, c=์ •๋‹ต ์ƒ˜ํ”Œ ์ˆ˜. ๋‹จ์ˆœ ์ถ”์ • 1-(1-pฬ‚)^k๋Š” ํŽธํ–ฅ๋จ์„ ์ฆ๋ช….

Originality

Limitation & Further Study

Evaluation

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

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

๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
์ฝ”๋“œ ๊ด€๋ จ LLM HumanEval ๋ฒค์น˜๋งˆํฌ์™€ ์œ ์‚ฌํ•˜๊ฒŒ, SciBench๋„ ๊ณ ๋“ฑ์ˆ˜์ค€ ๊ณผํ•™๋ฌธ์ œ ํ•ด๊ฒฐ๋Šฅ๋ ฅ์„ ๊ณ„๋Ÿ‰ํ™”ํ•จ์œผ๋กœ์จ LLM ํ‰๊ฐ€ ๋ฒค์น˜๋งˆํฌ์˜ ์›๋ฆฌ์™€ ํ™œ์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
GPT-4 ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ์˜ ์ž๊ธฐ ๋ฐ˜์„ฑ ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์ด๋ก ์  ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
์ฝ”๋“œ ์ƒ์„ฑ ์–ธ์–ด๋ชจ๋ธ ํ‰๊ฐ€์—์„œ HumanEval ๋ฒค์น˜๋งˆํฌ๋Š” SciCode ๊ณผํ•™์ž ํ๋ ˆ์ด์…˜ ์ฝ”๋”ฉ๋ฌธ์ œ ๋ฐ์ดํ„ฐ์…‹ ๊ฐœ๋ฐœ์˜ ์ด๋ก ์ ยท์‹ค์šฉ์  ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
320๋ฒˆ ๋…ผ๋ฌธ์€ LLM ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒค์น˜๋งˆํฌ์˜ ์„ค๊ณ„์™€ ํ‰๊ฐ€ ์›๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๋ฉฐ 782๋ฒˆ SWE-bench์™€ ๋น„๊ต๋ถ„์„์— ์œ ์šฉํ•˜๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
320๋ฒˆ ๋…ผ๋ฌธ์€ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ๋Œ€ํ˜•์–ธ์–ด๋ชจ๋ธ ํ‰๊ฐ€์™€ AI ๋ชจ๋ธ์˜ ๋‚ด์žฌ ํŠน์„ฑ ์ง„๋‹จ์„ ๋‹ค๋ฃจ์–ด, 3282๋ฒˆ์˜ ํŒŒ์šด๋ฐ์ด์…˜ ๋ชจ๋ธ ๋‚ด๋ถ€ ํ‘œํ˜„ ๋ถ„์„ ๊ธฐ๋ฒ•๊ณผ ์ด๋ก ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
320 ๋…ผ๋ฌธ์€ ์ฝ”๋“œ ํ•™์Šต ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์˜ ์‹ค์งˆ ์„ฑ๋Šฅ ํ‰๊ฐ€๋กœ, 3033๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ์‹คํ—˜ ์ตœ์ ํ™” ์ž‘์—…์— ํ™œ์šฉ๋œ ๋Œ€ํ˜• LLM์˜ ์‹ ๋ขฐ์„ฑ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
๋‘ ๋…ผ๋ฌธ์€ ๋™์ผํ•œ Codex/HumanEval ์—ฐ๊ตฌ๋ฅผ ๋‹ค๋ฃจ๋ฉฐ, ์ฝ”๋“œ LLM ํ‰๊ฐ€์˜ ์‹œ์ดˆ๋กœ์„œ ํ•จ๊ป˜ ์ฝ์–ด์•ผ ํ•œ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
์ฝ”๋“œ ํŠนํ™” ์–ธ์–ด ๋ชจ๋ธ ๊ฐœ๋ฐœ์—์„œ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ์—ฐ๊ตฌ์ด๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
์ฐจํŠธ ์ดํ•ด๋ฅผ ์œ„ํ•œ ์ž๋™ํ™”๋œ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ฐ ๋ชจ๋ธ ํ•™์Šต ๋ฐฉ๋ฒ•๋ก ์„ ์ œ์•ˆํ•˜๋Š” ์œ ์‚ฌํ•œ ์—ฐ๊ตฌ์ด๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
320 ๋…ผ๋ฌธ์€ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ LLM์˜ ํ•™์Šต ๋ฐ ํ‰๊ฐ€๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๋ถ„์„ํ•˜์—ฌ LLM self-debugging์˜ ํšจ๊ณผ์™€ ํ•œ๊ณ„๋ฅผ ๋น„๊ตํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
AI ์ฝ”๋“œ ์ƒ์„ฑ ๋„๊ตฌ๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด ๋ณด์•ˆ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ์œ ์‚ฌํ•œ ์‹คํ—˜์  ์—ฐ๊ตฌ์ด๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
320์€ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ LLM์˜ ํ‰๊ฐ€์™€ ์—ญํ• ์— ์ค‘์ ์„ ๋‘๋ฉฐ, 723์—์„œ ์–ธ๊ธ‰ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋ฐ˜ LLM ํ‰๊ฐ€์˜ ํ•œ ๊ฐˆ๋ž˜๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
Evaluating large language models trained on code ๋…ผ๋ฌธ์€ LLM์ด ๋…ผ๋ฌธ ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์ƒˆ๋กœ์šด ์ฝ”๋“œ ์ƒ์„ฑ ์ž‘์—…์„ ํ•ด๊ฒฐํ•˜๋Š” ์—ญ๋Ÿ‰์„ ์ธก์ •ํ•˜๋Š” ๋Œ€์•ˆ์  ์ ‘๊ทผ์„ ์ทจํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
320์€ ๋‹ค์–‘ํ•œ ์ฝ”๋“œ LLM๋“ค์˜ ๋น„๊ต ํ‰๊ฐ€๋ฅผ ์ œ๊ณต, 741์ด ์ œ์‹œํ•˜๋Š” code curation์„ ํ†ตํ•œ ์„ฑ๋Šฅ ๊ฐœ์„ ์˜ ์‹ค์ œ์  ํšจ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
StarCoder๋Š” Codex ์ดํ›„ ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ LLM์˜ ๋ฐœ์ „์„ ๋Œ€ํ‘œํ•˜๋ฉฐ, HumanEval ๋ฒค์น˜๋งˆํฌ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€ ์ฒด๊ณ„๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐœ์ „ํ–ˆ๋Š”์ง€ ๋ณด์—ฌ์ค€๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
Qwen2.5์˜ ์ฝ”๋“œ ํ•™์Šต ์„ฑ๋Šฅ, ์‚ฌํ›„ ํŠœ๋‹์ด ์‹ค์ œ ์ฝ”๋“œ ํ•™์Šต๋ฒค์น˜๋งˆํฌ์—์„œ ์–ด๋А์ •๋„ ์˜ํ–ฅ ์ฃผ๋Š”์ง€ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
SciCode๋Š” ๊ณผํ•™ ์—ฐ๊ตฌ ์ฝ”๋”ฉ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๊ณ ๋‚œ๋„ ๋ฒค์น˜๋งˆํฌ๋กœ, HumanEval์˜ ๊ธฐ๋ณธ ์ฝ”๋“œ ์ƒ์„ฑ ํ‰๊ฐ€๋ฅผ ๊ณผํ•™ ์—ฐ๊ตฌ ์˜์—ญ์œผ๋กœ ํ™•์žฅํ•œ๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
SWE-bench๋Š” LLM์˜ ์†Œํ”„ํŠธ์›จ์–ด ์‹ค์ „ ์ด์Šˆ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ์‹ค์ œ์  ๋ฒค์น˜๋งˆํฌ๋กœ, ์ฝ”๋“œ ์ƒ์„ฑ ํ‰๊ฐ€์ฒด๊ณ„์˜ ์‹ ๊ทœ ์‘์šฉ์‚ฌ๋ก€๋‹ค.
← ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๐ŸŽง Audio Overview

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