CodeParrot: 코드 모델 학습
Training CodeParrot 🦜 from Scratch
·2021.12.08 09:00
핵심 내용
HuggingFace가 공개한 파이썬 코드 생성 모델 CodeParrot의 데이터셋 구축 및 학습 방법론을 소개한다.
자세히 보기
CodeParrot는 GitHub CoPilot과 유사하게 프로그래머에게 코드 제안을 제공하는 GPT-2 기반의 대규모 파이썬 코드 생성 모델이다.
데이터셋 구축 및 정제
Google BigQuery의 GitHub 덤프에서 추출한 180GB(2,000만 개 파일)의 파이썬 데이터를 활용했다. 데이터 중복이 모델 성능에 심각한 영향을 미친다는 점을 발견하여, 중복을 제거하고 정제한 50GB 규모의 codeparrot-clean 데이터셋을 구축했다.
토크나이저 및 모델 초기화
코드의 토큰을 효율적으로 분리하기 위해 기존 GPT-2 토크나이저를 기반으로 코드 전용 토크나이저를 새롭게 학습시켰다. 모델은 GPT-2 Large(1.5B 파라미터) 설정을 따르며, 수치적 안정성을 위해 scale_attn_by_layer_idx 및 reorder_and_upcast_attn 설정을 적용했다.
학습 효율화
대규모 데이터셋을 효율적으로 처리하기 위해 streaming=True 옵션을 사용하여 전체 데이터를 다운로드하는 대신 필요한 샘플을 실시간으로 스트리밍하며 학습을 진행했다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.