SmolLM2 소개
SmolLM2는 컴팩트한 언어 모델 시리즈로 135M, 360M, 1.7B 파라미터를 가진 모델들이 있습니다. 이 모델은 다양한 작업을 해결할 수 있으며, 장치 내(on-device)에서 실행할 수 있을 만큼 가볍습니다. SmolLM2-1.7B 모델은 특히 이전 모델인 SmolLM1-1.7B에 비해 명령 처리, 지식 기반 질의, 추론 능력 및 수학적 문제 해결에서 큰 성능 향상을 보였습니다.
이 모델은 11조 개의 토큰을 학습했으며, FineWeb-Edu, DCLM, The Stack과 같은 데이터셋을 활용하여 훈련되었습니다. 또한, 수학 및 코딩 데이터셋이 새롭게 추가되었으며, 곧 공개될 예정입니다. SmolLM2-1.7B-Instruct는 지도 학습(Supervised Fine-Tuning, SFT) 방식으로 명령어 처리 능력을 강화하였고, UltraFeedback 데이터셋을 사용하여 직접 선호 최적화(Direct Preference Optimization, DPO)를 적용했습니다.
이 모델은 다양한 작업, 특히 텍스트 재작성, 요약 및 함수 호출에서 뛰어난 성능을 보이며, Argilla가 제공한 데이터셋인 Synth-APIGen을 포함한 여러 데이터셋을 학습에 활용했습니다.
SmolLM2의 모델 아키텍처 및 학습 환경은 다음과 같습니다:
- 모델 아키텍처
- 구조: 트랜스포머 디코더 (Transformer Decoder)
- 학습 토큰 수: 11조 개의 토큰
- 정밀도: bfloat16
- 학습 환경
- 하드웨어: 256개의 H100 GPU 사용
- 훈련 프레임워크: nanotron 프레임워크 활용
평가
모든 평가는 주로 제로샷(zero-shot) 설정에서 이루어졌으며, lighteval 도구를 사용하여 평가를 수행했습니다.
사전 학습 모델 평가
SmolLM2-1.7B는 다음과 같은 지표에서 경쟁 모델에 비해 우수한 성능을 보였습니다.
Base Pre-Trained Model
Metric | SmolLM2-1.7B | Llama-1B | Qwen2.5-1.5B | SmolLM1-1.7B |
---|---|---|---|---|
HellaSwag | 68.7 | 61.2 | 66.4 | 62.9 |
ARC (Average) | 60.5 | 49.2 | 58.5 | 59.9 |
PIQA | 77.6 | 74.8 | 76.1 | 76.0 |
MMLU-Pro (MCF) | 19.4 | 11.7 | 13.7 | 10.8 |
CommonsenseQA | 43.6 | 41.2 | 34.1 | 38.0 |
TriviaQA | 36.7 | 28.1 | 20.9 | 22.5 |
Winogrande | 59.4 | 57.8 | 59.3 | 54.7 |
OpenBookQA | 42.2 | 38.4 | 40.0 | 42.4 |
GSM8K (5-shot) | 31.0 | 7.2 | 61.3 | 5.5 |
이 중, HellaSwag 점수는 68.7으로 Llama-1B 및 SmolLM1-1.7B보다 높은 성능을 보입니다.
명령형 모델 평가
명령형 버전인 SmolLM2-1.7B-Instruct 모델의 성능은 다음과 같습니다.
Metric | SmolLM2-1.7B-Instruct | Llama-1B-Instruct | Qwen2.5-1.5B-Instruct | SmolLM1-1.7B-Instruct |
---|---|---|---|---|
IFEval (Average prompt/inst) | 56.7 | 53.5 | 47.4 | 23.1 |
MT-Bench | 6.13 | 5.48 | 6.52 | 4.33 |
OpenRewrite-Eval (micro_avg RougeL) | 44.9 | 39.2 | 46.9 | NaN |
HellaSwag | 66.1 | 56.1 | 60.9 | 55.5 |
ARC (Average) | 51.7 | 41.6 | 46.2 | 43.7 |
PIQA | 74.4 | 72.3 | 73.2 | 71.6 |
MMLU-Pro (MCF) | 19.3 | 12.7 | 24.2 | 11.7 |
BBH (3-shot) | 32.2 | 27.6 | 35.3 | 25.7 |
GSM8K (5-shot) | 48.2 | 26.8 | 42.8 | 4.62 |
특히, IFEval (Average prompt/inst) 점수는 56.7으로, Llama-1B 및 SmolLM1-1.7B-Instruct와 비교해 우수합니다.
사용 예시
SmolLM2-1.7B-Instruct 모델은 텍스트 재작성이나 요약, 함수 호출과 같은 다양한 유형의 작업에 활용될 수 있습니다.
텍스트 재작성
주어진 메시지를 더 친근하고 접근 가능한 방식으로 재작성할 수 있습니다. 예를 들어, 사용자 요청에 따라 이메일을 더 프로페셔널하게 수정할 수 있습니다.
system_prompt_rewrite = "You are an AI writing assistant. Your task is to rewrite the user's email to make it more professional and approachable while maintaining its main points and key message."
user_prompt_rewrite = "The CI is failing after your last commit!"
요약
주어진 텍스트의 핵심 내용을 간결하게 요약할 수 있습니다.
system_prompt_summarize = "Provide a concise, objective summary of the input text in up to three sentences, focusing on key actions and intentions without using second or third person pronouns."
함수 호출
SmolLM2-1.7B-Instruct는 특정 요구에 따라 함수 호출 작업도 수행할 수 있습니다. BFCL 리더보드에서 27%의 성능을 보였으며, 사용자 요청에 따라 여러 함수 호출을 자동으로 생성할 수 있습니다.
한계점
SmolLM2 모델은 주로 영어로 학습되었으며, 특정 주제에 대해 내용이 사실과 다르거나 논리적 일관성이 부족할 수 있습니다. 또한, 학습 데이터에 내재된 편향이 포함될 수 있습니다. 이 모델은 보조 도구로 사용하는 것이 좋으며, 생성된 콘텐츠는 반드시 사용자가 검토하고 사실 여부를 확인하는 것이 필요합니다.
라이선스 정보
SmolLM2는 Apache 2.0 라이선스 하에 배포됩니다.
SmolLM2 모델 다운로드
Model Size | Model Type | Model Name | Download |
---|---|---|---|
135M | Base | HuggingFaceTB/SmolLM2-135M | HuggingFaceTB/SmolLM2-135M · Hugging Face |
135M | Instruct | HuggingFaceTB/SmolLM2-135M-Instruct | HuggingFaceTB/SmolLM2-135M-Instruct · Hugging Face |
360M | Base | HuggingFaceTB/SmolLM2-360M | HuggingFaceTB/SmolLM2-360M · Hugging Face |
360M | Instruct | HuggingFaceTB/SmolLM2-360M-Instruct | HuggingFaceTB/SmolLM2-360M-Instruct · Hugging Face |
1.7B | Base | HuggingFaceTB/SmolLM2-1.7B | HuggingFaceTB/SmolLM2-1.7B · Hugging Face |
1.7B | Instruct | HuggingFaceTB/SmolLM2-1.7B-Instruct | HuggingFaceTB/SmolLM2-1.7B-Instruct · Hugging Face |
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~