스탠퍼드대학교와 워싱턴대학교의 연구진은 최근 단 50달러의 비용으로 's1'이라는 AI 모델을 개발했다. 이 모델은 오픈AI의 'o1'과 유사한 성능을 발휘하며, 특히 수학 및 코딩 능력 테스트에서 경쟁력을 보여준다. 's1'은 알리바바의 오픈소스 모델인 '큐원(Qwen)'을 기반으로 하여 고안되었으며, 구글의 '제미나이 2.0'을 활용해 데이터를 학습하였다.
(1) 테스트 시점에서만 적용하는 단순 스케일링 기법
“S1: Simple Test-Time Scaling”(이하 ‘S1’)에서 제안하는 핵심 아이디어는 학습이 끝난 모델 구조는 그대로 두고, 오직 테스트(추론) 단계에서만 입력 데이터의 크기 혹은 중간 특성(feature)의 스케일을 조정하는 것입니다. 이를 통해 도메인 차이(domain shift)나 테스트 시 발생하는 입력 분포의 변화에 더욱 유연하게 대응할 수 있게 됩니다.
- Input-Level Scaling
테스트 이미지를 받아들이는 즉시, 해당 이미지(또는 미니배치)의 통계값(예: 평균, 분산, 최소/최대 픽셀값 등)을 추정한 뒤, 이를 사전에 정의된 기준 스케일로 맞추어 재조정합니다.- 예: mean=0, std=1\text{mean} = 0, \ \text{std} = 1 형태로 단순 정규화를 다시 수행하거나, 다른 기준 범위([−1,1][-1, 1] 등)로 재스케일링.
- Feature-Level Scaling
모델의 중간 레이어(feature map)에서 Batch Normalization 통계 또는 특정 레이어 출력을, 테스트 샘플의 분포에 맞춰 재조정합니다.- 예: 배치 단위(또는 온라인 방식)로 입력의 평균, 분산을 새로 계산하고, 기존 학습 시 사용된 배치 정규화 파라미터 대신 ‘테스트 전용 스케일링 파라미터’를 도입해 재계산.
이 방식은 별도의 파라미터 튜닝(fine-tuning) 없이, 간단한 통계 연산과 스케일 적용만으로 이루어지므로, “S1”에서는 이를 “Simple Test-Time Scaling”이라 명명합니다.
주요 특징:
- 기반 모델: 알리바바의 오픈소스 AI 모델인 큐원(Qwen) 2.5를 기반으로 개발되었습니다.
- joyseattle.com
- 학습 방법: 구글의 최신 AI 모델인 제미나이 2.0의 출력 결과를 활용하여 추론 능력을 학습했습니다.
- ajunews.com
- 증류 기법: 기존 AI 모델의 출력 결과를 통해 얻은 상대적으로 적은 수의 데이터 샘플로 새로운 AI 모델의 성능을 크게 향상시키는 '증류' 과정을 거쳤습니다. ajunews.com
- 's1'의 개발에는 '증류'(distillation)라는 기술적 접근이 사용되었다. 이는 기존 모델의 출력을 기반으로 새로운 모델을 fine-tuning하는 과정을 통해 이루어졌다. 이 방법론은 AI 모델의 성능을 더욱 개선하는 데 효과적이다
- 효율성: 엔비디아 H100 GPU를 사용하여 약 30분 만에 모델 훈련을 완료했으며, 총 비용은 약 50달러에 불과했습니다.
- ajunews.com
* '테스트 타임 스케일링(test-time scaling)' 기법
모델이 실제 추론을 수행할 때 입력 데이터를 동적으로 조정하여 최적의 성능을 낼 수 있도록 AI 모델이 추론하는 과정에서 성능을 최적화하는 방법
학습된 모델의 파라미터를 변경하지 않고, 테스트 시점에서 더 많은 계산을 통해 성능을 향상시키는 데 주안점을 둡니다. 즉, 모델은 여러 개의 응답을 생성하고, 그 중에서 보상 모델을 통해 최적의 응답을 선택하는 방식을 사용
2. 기대 효과 및 이점
(1) 도메인 차이 완화
학습 데이터와 테스트 데이터 간의 분포 차이(밝기, 색감, 잡음 수준, 센서 측정 조건 등)가 클수록, 테스트 단계에서의 재스케일이 성능 개선에 기여할 수 있습니다. 이는 다양한 도메인 적응(Domain Adaptation) 연구에서 반복적으로 관찰된 현상으로, S1 역시 간단한 스케일 조정만으로도 의미 있는 성능 향상을 달성했다고 보고합니다.
(2) 추가 모델 학습 없이 간단히 적용 가능
일반적인 Test-Time Adaptation(TTA) 기법들은 추가적인 fine-tuning(학습), 최적화 루프, 또는 새로운 네트워크 구성을 필요로 할 때가 많습니다. 그러나 S1은 단순히 통계값 추정 및 스케일링 적용만 수행하므로,
- 추가 학습 없이 곧바로 적용이 가능하고,
- 모델 아키텍처나 파라미터를 건드리지 않아도 되므로 적용 범위가 넓습니다.
(3) 해석 및 구현이 용이
스케일링 방식 자체가 직관적이고 연산이 간단하기 때문에,
- “어떤 기준으로 스케일링을 했고, 그 결과가 어떻게 달라졌는지”를 해석하기 쉽습니다.
- 대부분의 딥러닝 프레임워크에서 쉽게 커스텀 전처리/후처리를 구현할 수 있으며, 별도의 복잡한 라이브러리가 필요 없습니다.
3. 세부 메커니즘
“S1”에서는 다양한 스케일링 옵션을 시도해보고, 그 중 가장 간단하지만 효과적인 방법들을 주로 소개합니다:
- Standard Re-Normalization
- x^=x−μbatchσbatch×σref+μref\hat{x} = \frac{x - \mu_{batch}}{\sigma_{batch}} \times \sigma_{ref} + \mu_{ref}
- 즉, 테스트 시점에서 배치(또는 한 샘플)의 평균(μbatch\mu_{batch})과 표준편차(σbatch\sigma_{batch})를 구하고, 이를 레퍼런스 평균/분산(μref\mu_{ref}, σref\sigma_{ref})에 맞게 다시 스케일링하는 형태입니다.
- Min-Max Scaling
- x^=x−min(x)max(x)−min(x)×(B−A)+A\hat{x} = \frac{x - \min(x)}{\max(x) - \min(x)} \times (B - A) + A
- 학습 시기의 픽셀 범위(예: [A, B])를 기준으로, 테스트 시점에 들어온 입력 또는 특성 맵이 해당 범위로 재조정되도록 합니다.
- Batch Norm Override
- 기존 학습된 BatchNorm 파라미터( γ\gamma, β\beta, 러닝 통계값 등 ) 대신, 테스트 배치에서 계산한 새로운 통계로 동적 업데이트를 진행합니다.
- “S1”에서는 학습 파라미터는 고정하되, 통계값(평균·분산)만 갱신하는 방식을 제안합니다.
4. 한계점 및 단점
(1) 극단적 분포 차이에 대한 대응 한계
학습 시 분포와 완전히 다른 형태(예: 컬러 차이, 센서 노이즈가 지나치게 심한 경우 등)의 데이터가 유입될 경우, 단순 통계 스케일링만으로는 성능을 보장하기 어렵습니다.
- 예: “S1” 실험에서도, 컬러 채널 자체가 반전된 이미지(초록색이 빨간색으로 보이는 경우 등) 같은 도메인 왜곡에는 한계가 있음을 언급합니다.
(2) 적절한 참고 스케일(μref\mu_{ref}, σref\sigma_{ref} 등) 설정의 어려움
스케일링 기준값(학습 시 사용된 평균, 표준편차 등)을 그대로 사용하는지, 테스트 데이터의 통계값에 얼마나 가중을 줄지 등의 하이퍼파라미터를 결정해야 합니다.
- 잘못된 기준값을 사용하면 오히려 성능이 저하되거나, 모델 출력을 불안정하게 만들 수 있습니다.
(3) 배치 단위 vs. 개별 샘플 단위의 트레이드오프
배치(batch) 단위로 통계를 잡으면, 충분한 표본 수를 확보해 통계가 안정적이지만,
- 샘플 간 분포 편차가 클 경우, 단일 배치 통계가 무의미해질 수 있습니다.
- 온라인 추론(샘플 단위) 환경이라면 배치 통계를 계산하기 어려운 한계도 존재합니다.
5. 종합 정리
- 학습된 모델을 유지한 채, 테스트 단계에서만 간단한 스케일링을 적용한다는 점이 “S1: Simple Test-Time Scaling”의 가장 큰 특징입니다.
- 복잡한 TTA(Test-Time Adaptation) 기법 대비 구현이 쉽고, 추가 학습이 필요 없으며, 처리 속도 역시 비교적 빠른 편이라는 장점이 있습니다.
- 반면, 극단적인 도메인 차이나 심각한 노이즈 상황에서는 단순 스케일링만으로 성능 향상을 기대하기 어려울 수 있습니다.
- 그럼에도, 기존 분포와 어느 정도 유사한 환경에서 예상치 못한 소규모의 도메인 차이나 입력 편차가 발생하는 상황이라면, 이 기법만으로도 상당한 성능 개선 효과를 볼 수 있다고 S1은 주장합니다.
https://github.com/simplescaling/s1
GitHub - simplescaling/s1: s1: Simple test-time scaling
s1: Simple test-time scaling. Contribute to simplescaling/s1 development by creating an account on GitHub.
github.com
https://arxiv.org/abs/2501.19393
s1: Simple test-time scaling
Test-time scaling is a promising new approach to language modeling that uses extra test-time compute to improve performance. Recently, OpenAI's o1 model showed this capability but did not publicly share its methodology, leading to many replication efforts.
arxiv.org
https://discuss.pytorch.kr/t/s1-test-time-scaling/6060
s1: 테스트 시점 스케일링(Test-Time Scaling)을 단순하게 구현하는 방법에 대한 연구
s1: Simple Test-Time Scaling 연구 배경 최근 인공지능(AI) 기술이 급속도로 발전하면서, 대형 언어 모델(Large Language Model, LLM)의 활용이 점점 더 확대되고 있습니다. GPT-4o, Claude, Gemini와 같은 최신 모델들
discuss.pytorch.kr
'07.AI' 카테고리의 다른 글
생성형 AI - 제미나이 2.0 (Gemini 2.0) (0) | 2025.02.11 |
---|---|
LLM - 성능 - 모델 최적화 - '테스트 타임 스케일링(test-time scaling)' 기법 (0) | 2025.02.11 |
기초 모델 (FM, Foundation Model) - 사후 학습(Post-training) - 지도학습 기반 미세 조정(SFT, Supervised Fine-tuning) (0) | 2025.02.08 |
기초 모델 (FM, Foundation Model) - 사후 학습(Post-training) - 강화학습(RL, Reinforcement Learning) (0) | 2025.02.08 |
자연어처리 (NLP) - OpenAI o3 mini (1) | 2025.02.08 |