[Slog] AI 관련 기록

본 슬로그는 AI 관련한 상식을 기록하기 위함입니다. LLM 서비스가 전문가 수준으로 발전했기 때문에 대부분의 소스는 LLM을 통해서 획득하겠지만 결과를 잘 검증한 후 기록하도록 하겠습니다.


제목을 변경해야겠네요. 상식이라기 보다는 기록 정도로 수정해야겠습니다.

1개의 좋아요

LLM 서비스에서 Chat 모드와 Agent의 차이점은 뭐야?

from Copilot

LLM(대규모 언어 모델) 기반 서비스에서 ChatAgent는 비슷해 보이지만, 기능과 역할에서 차이가 있습니다.

  • Chat: 주로 사용자와 자연스러운 대화를 나누며 질문에 답하거나 정보를 제공하는 방식입니다. 일반적인 채팅 모델은 기억력이 제한적이며, 사용자의 요청에 따라 답변을 생성하는 역할을 합니다. 즉, 사용자가 질문하면 그에 맞춰 즉각적인 응답을 제공하는 형태라고 볼 수 있습니다.
  • Agent: 보다 능동적인 역할을 수행하는 AI 모델을 뜻합니다. 특정 목적을 위해 여러 단계를 거쳐 작업을 수행하거나, 기억을 활용해 지속적인 맥락을 유지하며 더 복잡한 문제를 해결할 수 있습니다. 예를 들어, 사용자에게 적절한 조치를 제안하거나 자동화된 작업을 수행하는 기능이 포함될 수 있습니다.

쉽게 말해, Chat은 대화 중심, Agent는 실행 중심이라고 볼 수 있습니다. 하지만 두 개념이 점차 결합되면서, 대화형 AI도 점점 더 강력한 에이전트 역할을 수행하는 방향으로 발전하고 있습니다.

1개의 좋아요

SLM(Small Language Model)은 LLM에 비해 무슨 차이고 어디서 유용할까?

from Copilot

SLM(소형 언어 모델)과 LLM(대규모 언어 모델)의 가장 큰 차이는 모델 크기와 성능입니다. LLM은 수천억 개 이상의 매개변수를 가진 대규모 AI 모델로, 방대한 데이터를 학습하여 다양한 자연어 처리 작업을 수행할 수 있습니다. 반면, SLM은 수백만~수십억 개의 매개변수를 가진 소형 모델로, 특정 작업에 최적화되어 빠르고 효율적으로 작동합니다.

SLM이 유용한 분야:

  • 온디바이스 AI: 스마트폰, 웨어러블 기기, IoT 디바이스에서 빠르게 실행 가능
  • 실시간 응답: 챗봇, 음성 인식, 자동완성 기능 등에 적합
  • 특정 도메인 최적화: 의료, 금융, 법률 등 특정 분야에서 높은 정확도 제공
  • 비용 효율성: 적은 컴퓨팅 자원으로 운영 가능, 클라우드 의존도 감소

최근 AI폰과 같은 온디바이스 AI 기술이 발전하면서 SLM이 더욱 주목받고 있습니다. 반면, LLM은 창의적인 텍스트 생성, 복잡한 질의응답, 코드 작성 등 고급 작업에 적합합니다

1개의 좋아요

Agent가 어떻게 목표로 하는 결과를 LLM의 기억 한계를 극복해서 처리할 수 있을까?

예시) 10만 라인 규모의 소스코드를 효과적으로 처리, 수정

from Copilot

  1. 코드 구조 분석 + 임베딩화
  • 먼저 전체 프로젝트를 AST (Abstract Syntax Tree) 또는 폴더/모듈 단위로 파싱하고 분석.
  • 각 파일/함수를 embedding으로 벡터화하여 의미 단위로 저장 → 이후 유사도 기반 검색에 활용.
  1. 요청 기반 부분 회상 (Contextual Retrieval)
  • 사용자가 “로그인 기능 고쳐줘”라고 하면, 해당 기능 관련 코드와 문맥을 vector search로 회상.
  • 필요한 함수, 파일, 주석 등을 재구성해서 모델의 컨텍스트 윈도우에 주입.
  1. LLM 에이전트를 통한 점진적 수정
  • 에이전트는 하나의 변경 요구를 받고, 연관된 코드만 수정한 뒤 변경 로그 생성 + diff 저장.
  • 각 변경이 완료되면 장기 메모리에 수정 이력 저장 (예: “로그인 로직 수정 완료, auth.js”).
  1. 계획 기반 에이전트 루프
  • 전체 수정 요구를 목록화하고, 하나씩 태스크로 분리하여 반복 수행 (예: Task Decomposition).
  • 각 태스크는 [목표 → 검색 → 수정 → 테스트 → 저장] 루프를 따라 동작.
  1. 리팩토링 및 테스트 통합
  • 테스트 파일도 검색하여 함께 수정하거나 생성.
  • git diff 또는 test coverage를 통해 수정 범위 추적.

:hammer_and_wrench: 사용 가능한 기술 스택 예시

  • LLM: GPT, Claude, 또는 Mistral 기반의 모델
  • Vector DB: Weaviate, Qdrant, Chroma 등
  • Agent Framework: LangChain, AutoGen, CrewAI, OpenDevin
  • 도우미 툴: tree-sitter (파싱), Git diff, 유닛 테스트 자동 생성기 등

10만 라인 전체를 한 번에 바꾸는 게 아니라, LLM을 중심으로 한 에이전트가 ‘의도 → 회상 → 점진적 수정’ 루프를 돌며 점진적으로 코드를 바꿔가는 구조

1개의 좋아요

RAG란?

from Copilot

RAG는 Retrieval-Augmented Generation의 약자로, 한국어로는 보통 검색 증강 생성이라고 번역됨. LLM(대규모 언어 모델)의 한계를 보완하기 위해 고안된 기술임.

간단히 말하면, LLM이 답변을 생성할 때 외부 지식 베이스에서 관련 정보를 검색해와서 그 정보를 바탕으로 더 정확하고 신뢰도 높은 답변을 생성하는 방식. 마치 오픈북 시험을 보는 것처럼, 모델이 기억에만 의존하지 않고 참고 자료를 활용함.

예를 들어, 어떤 기업의 내부 문서나 최신 뉴스, 기술 문서 등을 벡터 데이터베이스에 저장해두고, 사용자의 질문이 들어오면 관련 내용을 검색해서 그걸 바탕으로 답변을 생성함. 이 방식은 특히 다음과 같은 상황에서 유용함:

  • 최신 정보가 필요한 경우 (예: 오늘의 환율, 최근 논문 등)
  • 특정 도메인 지식이 필요한 경우 (예: 법률, 의료, 기업 내부 지식)
  • LLM이 잘못된 정보를 생성할 위험이 있는 경우

요즘은 많은 기업들이 RAG 기반의 LLM 시스템을 도입해서 정확도와 신뢰성을 높이고 있음.

1개의 좋아요

파인 튜닝이 뭐고 어떻게 하는 걸까?

from Copilot

파인 튜닝(Fine-tuning)은 이미 학습된 AI 모델을 특정 작업이나 도메인에 맞게 미세 조정하는 과정임.

이는 범용 모델을 특정 목적에 적합하도록 최적화하는 작업임.

핵심 원리는 다음과 같음:

  1. 사전 훈련 모델 선택: GPT, BERT, ResNet 등 대규모 데이터로 학습된 모델을 기반으로 사용
  2. 특정 작업용 데이터 준비: 예를 들어, 의료 분야라면 의료 관련 텍스트나 이미지 데이터를 준비
  3. 모델 구조 조정: 출력층을 해당 작업에 맞게 수정. 예: 감성 분석 작업을 위한 긍정/부정 분류용으로 변경.
  4. 낮은 학습률로 재학습: 기존 지식을 유지하면서 새로운 정보를 학습하도록 낮은 학습률로 학습.
  5. 반복 학습 및 검증: 과적합을 방지하고 성능을 높이기 위해 반복적으로 학습 및 검증을 수행함.

이와 같은 파인 튜닝은 전이 학습(Transfer Learning)의 일환으로, 기존에 학습한 지식을 새로운 작업에 적용하는 방식임. 이로 인해 적은 데이터와 자원만으로도 높은 성능을 달성할 수 있음

좋아요, Seil! LLM 파인튜닝을 위한 대표적인 도구들을 정리해봤어요. 각각의 특징도 함께 소개할게요:

:hammer_and_wrench: 대표적인 LLM 파인튜닝 도구

  1. Torchtune
    PyTorch 팀이 개발한 공식 도구로, 모듈식 구성PEFT(매개변수 효율적 파인튜닝) 기법을 지원해요.
  • 다양한 모델(LLaMA2, Mistral 등) 지원
  • Hugging Face, Weights & Biases 등과 통합
  • 로컬 추론, 양자화, 벤치마크 평가까지 지원
  1. XTuner
    다양한 LLM(LLaMA3, Qwen, ChatGLM 등)을 지원하는 멀티모달 파인튜닝 도구예요.
  • LoRA, QLoRA, Full Fine-tuning 등 다양한 전략 지원
  • FlashAttention, DeepSpeed 등 고성능 연산 최적화
  • 시각+언어 모델(VLM)도 지원 가능
  1. Hugging Face Transformers + PEFT 라이브러리
    가장 널리 쓰이는 조합.
  • transformers, datasets, peft, accelerate 등을 활용
  • 커뮤니티 튜토리얼과 예제가 풍부
  • Google Colab에서도 쉽게 실습 가능
  1. Axolotl
    LLaMA 계열 모델에 특화된 파인튜닝 프레임워크로, YAML 기반 설정으로 손쉽게 실험 가능함
2개의 좋아요

알려진 SLM 모델은 뭐가 있을까?

from Copilot

  1. Microsoft – Phi-3 시리즈
    마이크로소프트는 Phi-3 모델을 통해 SLM 분야에서 기술적 우위를 확보했음. 경량임에도 불구하고 다양한 벤치마크에서 강력한 성능을 기록했으며, 모바일 및 엣지 환경에서도 운용 가능하다는 점에서 활용 가능성이 높다고 판단됨.

  2. Google – Gemini Nano
    구글은 Gemini Nano 모델을 통해 Android 기기 내 온디바이스 AI 구현을 목표로 했음. 초소형 구조와 효율성에 중점을 두었으며, 스마트폰 기반의 AI 기능 강화를 위한 최적의 선택지로 평가받고 있음.

  3. Meta – LLaMA 3 8B
    Meta의 LLaMA 3 8B 모델은 원래 LLM 범주에 속하지만, 파라미터 수와 성능 기준에서 SLM에 가까운 수준으로 경량화되었음. 오픈소스로 제공되며 커뮤니티의 적극적인 활용이 이루어지고 있음.

  4. Mistral – Mistral 7B / Mixtral
    프랑스 기반 Mistral은 Mistral 7B와 Mixtral 모델을 통해 고성능 소형 모델 시장을 선점하려는 전략을 취하고 있음. 특히 Mixtral은 mixture-of-experts 구조를 통해 높은 효율성과 성능을 동시에 달성했음.

  5. S2W – CyberTuned
    국내 기업 S2W는 사이버보안 특화 모델인 CyberTuned를 공개했음. 기존 DarkBERT의 후속으로, 다크웹 및 위협 인텔리전스 분석에 초점을 맞춘 SLM 개발의 가능성을 입증했음.

2개의 좋아요