SmolLM v2, On-Device에 최적화된 소규모 언어 모델(SLM) (feat. HuggingFace)

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 라이선스 하에 배포됩니다.

:hugs: 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 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요

제목에 SmolLM을 SomlLM으로 오타 났네요

1개의 좋아요

오, 감사합니다. 수정하였습니다!