article content thumbnail

[리뷰] Small Language Models are the Future of Agentic AI

SLM이 Agent의 미래다 ~?

Introduction

최근에 Anthropic research에서 https://www.anthropic.com/research/reasoning-models-dont-say-think 복잡한 추론 모델이 오히려 성능이 저하된다는 내용을 본적있다.

비슷하게 NVIDIA에서 SLM이 Agentic AI의 미래라는데.. 맞아 ? 싶어서 한 번 읽어봐야 겠다는 생각을 했다.

AI Agent

  • AI Agent란 사람이나 시스템을 대신해 목표를 달성하기 위해 스스로 정보를 수집·분석하고, 판단하여 직접 행동(업무 수행)까지 하는 자율적인 인공지능 소프트웨어를 말한다.

SLM (Small Language Model)

  • 논문에서 100억개 미만의 파라미터를 가진 대부분의 모델을 SLM이라고 할 수 있다.

  • SLM은 일반적인 소비자 전자 장치에 탑재될 수 있고, 한 사용자의 에이전트 요청을 처리할 때 실용적일 정도로 충분히 낮은 지연 시간으로 추론을 수행할 수 있는 Language Model을 LM이라고 하고 있다.

  • LLM은 SLM이 아닌 LM이다. (LLM ∪ SLM = LM)

    • 이 때 논문에서 둘은 어떤 고정적인 개념으로 정의하기 보다는 SLM이 미래에는 LLM이 될 수도 있다는 형태로 열어두고 있다.

주요 내용

논문에서 AI Agent 만들 때 SLM을 쓰세요! 라는 형태로 주장을 하고 있다. 주장은 크게 3가지인데 아래와 같다.

주장 1. 에이전트 기반 애플리케이션의 언어 모델링 업무를 처리할 수 있을 만큼 충분히 강력합니다.

주장 2. SLM은 LLM보다 Agent 기반 시스템에서 사용하기에 본질적으로 더 적합합니다.

주장 3. 더 작은 크기 덕분에 범용 LLM에 비해 에이전트 기반 시스템에서 LM을 사용하는 대다수의 경우에 반드시 더 경제적입니다.


그리고 위 주장을 뒷받침하는 7가지 논거를 제시하고 있다.

주장 1-3 에 대한 7가지 논거

  1. SLM의 성능이 이미 충분함을 실증했다.

    • commensense reasoning, code generation task, instruction following에 대해서 SLM과 size가 큰 model에 대해서 성능을 비교함.

    • Microsoft Phi-2 (2.7B): 30B 모델과 동등한 성능, 15배 빠른 속도

    • NVIDIA Nemotron-H 2B, 4.8B/9bn 하이브리드 Mamba-Transformer 모델은 추론 FLOPs의 10분의 1 수준에서 동일 세대의 조밀한 30bn LLM과 비슷한 수준의 명령어 추종 및 코드 생성 정확도를 달성합니다.

    • DeepSeek-R1-Distill (7B): Claude-3.5, GPT-4o 능가

해당 부분에서 실험 결과는 크게 없고, 일반적으로는 납득하기 어려울 수도 있지만 특정 task를 기준으로 하고 있어서 그러려니 ..

  1. 경제성 측면에서 압도적 우위

    • 7B SLM이 70B ~ 175B LLM을 서빙하는 것보다 약 10 ~ 30배 저렴.

    • NVIDIA Dynamo같은 model은 cloude, edge deviced에서 쉬운 배포도 지원하고, 인프라 비용도 매우 저렴함.

    • LLM이 출력할 때, 많은 파라미터를 참고하여 답변 하는 것 같지만 실제 이러한 시스템에서 사용되는 부분은 매우적다.

  2. 운영 유연성이 더 높음

    • SLM의 적용의 장점 → 민주화

      • 더 많은 개인과 조직이 개발에 참여할 수 있음.

      • 학습 비용이 절감 되기 때문에 당연하게 훨씬 더 다양한 실험을 해볼 수 있고, 더욱 Task에 걸맞는 모델을 만들어나갈 수 있음.

  3. Agent는 LM의 작은 기능만 노출한다.

    • AI Agent Application 자체가 작은 기능들을 제공하는 LM들의 집합으로 구성되어 있음. → 잘 generalize된 LLM 쓸 필요 없다!


  4. Agent 상호작용은 정확한 behavioral alignment을 필요로 한다.

    • LM은 LM 도구 호출 or 분석될만한 text 등을 반환하면서 code와 상호작용함.

      ⇒ 매개변수의 순서, 유형 및 특성, 그리고 LM을 호출하는 코드의 기대치에 의해 부과되는 엄격한 형식 요구 사항을 준수하는 것이 좋음. ex) 출력 format을 JSON으로 일관되게 유지.

      SLM은 파인튜닝으로 이러한 요구사항을 준수하도록 훈련하는 것이 더 쉬움.

  5. Agent 시스템은 자연스럽게 이질적 → Agent 시스템마다 그 성질이 다르니까, 자연스럽게 SLM을 도입할 수 있다.

    • Agent의 흐름에서 언어 모델 ↔ 언어 모델 상황이 자연스럽게 발생 가능함.

    agent의 유형을 나타낸 예시 이미지
    • 왼쪽 그림에서 보라색 LM은 루트 에이전시가 있는 부분으로 LLM을 사용할 수도 있지만 (for generalized task) SLM은 하위 LM들로 사용될 수 있고,

    • 오른쪽 그림에서 Controller(code base)기반으로 동작하는 Agent에서는 SLM으로만 구성할 수도 있다.

  6. 에이전트 상호작용이 미래 개선을 위한 데이터 소스

    • Agent process에서 도구 및 언어 model의 호출은 좁은 기능을 제공하는 데 집중하도록 하는 신중한 프롬프트와 함께 제공

      • 이러한 엔지니어링 과정이 이후의 모델 개선을 위한 소스가 된다!


논거 작성 후에. 특정 매체 같은 곳에서 할 수 있는 반론에 대한 반박도 나와 있다.

반론에 대한 반박

  • LLM은 항상 더 일반적인 언어 이해에서 이점을 가진다.

    • 같은 세대 모델 기준으로 LLM이 SLM보다 성능 좋지 않음?

      • OK 처음엔 그럴 수 있지만, SLM은 원하는 수준의 신뢰성으로 수행하도록 쉽게 fine-tuning할 수 있습니다.

  • 도입 장벽: 어쨌든 SLM도 여러개 혹은 반복적으로 학습해서 띄우면 어려운 거 아님?

    • 중앙 집중식 LLM 추론 인프라에 대한 막대한 선행 투자 때문이다.

    • SLM 설계 및 개발에 대한 대부분의 작업이 LLM 설계를 따르며, 개발에서 동일한 일반적인 벤치마크에 초점을 맞추고 있음을 지적해야 합니다

    • 대중의 인식 부족.

  • LLM-to-SLM 어렵지 않아 ? → OK 이렇게 해보세요.

    • S1: 보안 사용 데이터 수집

      • 목적: 에이전트 호출 데이터 수집을 위한 기반 구축

      • 작업:

        • 모든 비-HCI 에이전트 호출 로깅 시스템 구축

        • 입력 프롬프트, 출력 응답, 도구 호출 내용, 대기시간 메트릭 캡처

        • 암호화된 로깅 파이프라인과 역할 기반 접근 제어 구현

        • 데이터 익명화 처

    • S2: 데이터 큐레이션 및 필터링

      • 목적: 수집된 데이터를 SLM 훈련에 적합하게 정제

      • 작업:

        • 충분한 데이터량 확보 (10k-100k 예제)

        • PII, PHI 등 민감한 데이터 제거 및 마스킹

        • 애플리케이션별 민감 정보 난독화

        • 자동화된 데이터 정제 도구 활용

    • S3: 작업 클러스터링

      • 목적: 반복되는 작업 패턴 식별하여 전문화 영역 정의

      • 작업:

        • 비지도 클러스터링 기술로 프롬프트/작업 분석

        • 의도 인식, 데이터 추출, 문서 요약, 코드 생성 등 작업 유형 분류

        • SLM 전문화 후보 작업 정의

    • S4: SLM 선택

      • 목적: 각 작업에 최적화된 소형 언어 모델 선정

      • 기준:

        • 모델의 고유 기능 (명령어 추종, 추론, 컨텍스트 창 크기)

        • 작업별 벤치마크 성능

        • 라이선스 및 배포 요구사항 (메모리, 계산 리소스)

    • S5: 특수 SLM 미세 조정

      • 목적: 선택된 SLM을 특정 작업에 특화되도록 훈련

      • 방법:

        • 작업별 데이터셋으로 SLM 미세 조정

        • LoRA/QLoRA 등 PEFT 기술 활용으로 비용 절감

        • 필요시 전체 미세 조정 또는 지식 증류 기법 적용

    • S6: 반복 및 개선

      • 목적: 지속적인 성능 향상 및 적응

      • 작업:

        • 새로운 데이터로 주기적 재훈련

        • 진화하는 사용 패턴에 맞춘 모델 업데이트

        • 지속적인 개선 루프 구축 (S2 또는 S4 단계로 회귀)



NVIDIA 리서치 팀에서 작성한 논문이어서 SLM에 대한 효용에 대해서 구체적인 인사이트를 얻을 수 있기를 기대했는데, 그런 점이 없었다. 개인적으로 논문 선택에 대한 아쉬움이 있다. 그래도 무조건 Large Model이 좋겠지? 라는 생각을 바꿔주는 논문.

그럼에도 대부분이 이론적인 주장, 근거에만 의존하고 있는 것이 아쉬웠다. 논문에서 SLM으로 어떻게 Agent를 구성했을 때, LLM model과 비교했을 때, 성능이 좋은지 그 해결방법이나 실험결과를 구체적으로 알고 싳었는데 그런 내용이 없음.

해당 논문에서는 일반적인 상황에서 좋아. 라고 했지만 조금 더 Domain Specific하게 접근한 연구들이 실험결과와 함께 나오면 좋을것 같다!

최신 아티클
Article Thumbnail
최윤한
|
2025.03.30
A-MEM: Agentic Memory for LLM Agents 리뷰
AI Agent의 기억 메모리 조직화 시스템 방법론
Article Thumbnail
최윤한
|
2025.03.08
IT 커뮤니티 SIPE 3기 운영진 마침표.
SIPE 운영진 활동 회고와 SIPE를 고민하는 하는 사람을 위한 후기와 추천글
(python) spotlight로 시각화 feature vector
최윤한
|
2025.03.02
(python) spotlight로 시각화 feature vector
Spotlight로 Feature Vector 시각화