StarCoder: may the source be with you! arXiv preprint arXiv:2305.06161, 2023.

์ €์ž: Raymond Li, Loubna Ben Allal, Yangtian Zi ์™ธ 70๋ช… ์ด์ƒ (BigCode ์ปค๋ฎค๋‹ˆํ‹ฐ) | ๋‚ ์งœ: 2023๋…„ 12์›” | DOI: N/A 📄 PDF


Essence

BigCode ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๊ฐœ๋ฐœํ•œ StarCoder๋Š” 155์–ต ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทœ๋ชจ์˜ ์˜คํ”ˆ ์†Œ์Šค ์ฝ”๋“œ ์ƒ์„ฑ ๋Œ€ํ˜•์–ธ์–ด๋ชจ๋ธ(Code LLM)๋กœ, ์ฑ…์ž„๊ฐ ์žˆ๋Š” AI ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ์ €์ž‘๊ถŒ, ๊ฐœ์ธ์ •๋ณด, ํˆฌ๋ช…์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ๊ธฐ์กด ๋ชจ๋“  ์˜คํ”ˆ ์ฝ”๋“œ LLM์„ ๋Šฅ๊ฐ€ํ•˜๋Š” ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ–ˆ๋‹ค.

Motivation

Achievement

  1. ์„ฑ๋Šฅ ์šฐ์ˆ˜์„ฑ: StarCoder๊ฐ€ ๋‹ค์ค‘ ์–ธ์–ด ์ง€์› ๋ชจ๋“  ์˜คํ”ˆ ์ฝ”๋“œ LLM์„ ๋Šฅ๊ฐ€ํ•˜๋ฉฐ, OpenAI code-cushman-001 ๋ชจ๋ธ๊ณผ ๋™๋“ฑ ์ด์ƒ ์„ฑ๋Šฅ ๋‹ฌ์„ฑ
    • ํฌ๊ด„์  ๋ฒค์น˜๋งˆํฌ(HumanEval, MBPP, CodeXGLUE ๋“ฑ) ํ‰๊ฐ€๋กœ ๊ฒ€์ฆ
  2. ๊ธฐ์ˆ ์  ํ˜์‹ : 8K ํ† ํฐ ์ปจํ…์ŠคํŠธ ๊ธธ์ด, Fill-in-the-Middle(FIM) ์ธํ•„ ๊ธฐ๋Šฅ, Multi-Query-Attention(MQA) ํ™œ์šฉ์œผ๋กœ ๋น ๋ฅธ ๋Œ€๋ฐฐ์น˜ ์ถ”๋ก  ์ง€์›
    • ๊ธฐ์กด ์˜คํ”ˆ ์ฝ”๋“œ LLM์—์„œ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์˜ ์กฐํ•ฉ ๋ถ€์žฌ
  3. ์ฑ…์ž„๊ฐ ์žˆ๋Š” ๊ณต๊ฐœ:
    • ๊ฐœ์„ ๋œ PII(๊ฐœ์ธ์‹๋ณ„์ •๋ณด) ์ œ๊ฑฐ ํŒŒ์ดํ”„๋ผ์ธ: 12,000๊ฐœ ํŒŒ์ผ, 22,950๊ฐœ ์—”ํ‹ฐํ‹ฐ ํ•™์Šตํ•œ StarEncoder ๋ชจ๋ธ ๊ฐœ๋ฐœ
    • ์†์„ฑ ์ถ”์  ๋„๊ตฌ(Attribution Tracing Tool): VSCode ๋ฐ๋ชจ์— ํ†ตํ•ฉ๋œ BM25 ์ธ๋ฑ์Šค ๊ธฐ๋ฐ˜ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ ์œ ์‚ฌ์„ฑ ๊ฒ€์ƒ‰์œผ๋กœ ์ €์ž‘๊ถŒ ํˆฌ๋ช…์„ฑ ์ œ๊ณต
    • OpenRAIL-M ๋ผ์ด์„ ์Šค: ์ƒ์—… ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉด์„œ ์ œํ•œ ์‚ฌํ•ญ ๋‚ด์žฌํ™”

How

Figure 1: Distribution of programming languages in the annotated PII dataset

PII ์ฃผ์„ ๋ฐ์ดํ„ฐ์…‹์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ถ„ํฌ

Originality

Limitation & Further Study

Evaluation

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

์ดํ‰: StarCoder๋Š” ๊ณ ์„ฑ๋Šฅ ์˜คํ”ˆ ์ฝ”๋“œ LLM์˜ ํ•„์š”์„ฑ์„ ์ถฉ์กฑ์‹œํ‚ค๊ณ  ์ฑ…์ž„๊ฐ ์žˆ๋Š” AI ๊ฐœ๋ฐœ์˜ ์‹ค์งˆ์  ๋ชจ๋ธ์„ ์ œ์‹œํ–ˆ์œผ๋‚˜, ๋ฒ•์ ยท์œค๋ฆฌ์  ์Ÿ์ ์˜ ์™„์ „ํ•œ ํ•ด๊ฒฐ๋ณด๋‹ค๋Š” ํˆฌ๋ช…์„ฑ๊ณผ ๊ฐ์‹œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ˆ˜์ค€์œผ๋กœ, ์‚ฐ์—… ๋ฐ ์—ฐ๊ตฌ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๊ธฐ์—ฌ๋ฅผ ํฌ๊ฒŒ ๋†’์˜€์œผ๋‚˜ ์ž ์žฌ์  ๋ฒ•์  ์œ„ํ—˜์€ ์—ฌ์ „ํžˆ ์กด์žฌํ•œ๋‹ค.

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

๋‹ค๋ฅธ ์ ‘๊ทผ
StarCoder์™€ ์œ ์‚ฌํ•œ ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ LLM(Code Llama) ๋ชจ๋ธ๋กœ, ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ ์ฑ…์ž„์„ฑ ์žˆ๋Š” ์˜คํ”ˆ LLM ์ „๋žต์„ ๋‹ค๋ฅธ ํ”Œ๋žซํผ ๊ด€์ ์—์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
StarCoder๋Š” Codex ์ดํ›„ ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ LLM์˜ ๋ฐœ์ „์„ ๋Œ€ํ‘œํ•˜๋ฉฐ, HumanEval ๋ฒค์น˜๋งˆํฌ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€ ์ฒด๊ณ„๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐœ์ „ํ–ˆ๋Š”์ง€ ๋ณด์—ฌ์ค€๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
StarCoder2๋Š” StarCoder์˜ ์ง์ ‘์ ์ธ ํ›„์† ์—ฐ๊ตฌ๋กœ, ๋” ๋ฐœ์ „๋œ ์•„ํ‚คํ…์ฒ˜์™€ ๋ฐ์ดํ„ฐ๋กœ ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ LLM์˜ ์ง„ํ™”๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ ํ•™์Šต LLM์˜ ์ ์šฉ์„ฑ๊ณผ ์‹ค์ œ ๊ณผํ•™ ์ž๋™ํ™” ์˜์—ญ์—์„œ์˜ ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํ‚น์„ ํ†ตํ•ด StarCoder์˜ utility๋ฅผ ์ž…์ฆํ•ฉ๋‹ˆ๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
SciCode ๋ฒค์น˜๋งˆํฌ๋ฅผ ํ†ตํ•ด StarCoder์™€ ๊ฐ™์€ ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ LLM์ด ๊ณผํ•™ ์—ฐ๊ตฌ ์ฝ”๋”ฉ์—์„œ ์–ด๋–ค ๋Šฅ๋ ฅ์„ ๋ฐœํœ˜ํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ฐ˜๋ก /๋น„ํŒ
SWE-bench๋Š” StarCoder์™€ ๊ฐ™์€ ์ฝ”๋“œ LLM์ด ์‹ค์ œ GitHub ์ด์Šˆ ํ•ด๊ฒฐ์—์„œ ๋งค์šฐ ๋‚ฎ์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„์„ ๋ณด์—ฌ์ฃผ์–ด, ์ฝ”๋“œ LLM์˜ ํ˜„์‹ค์  ํ•œ๊ณ„๋ฅผ ๋“œ๋Ÿฌ๋‚ธ๋‹ค.
← ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๐ŸŽง Audio Overview

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