본 슬로그는 AI 관련한 상식을 기록하기 위함입니다. LLM 서비스가 전문가 수준으로 발전했기 때문에 대부분의 소스는 LLM을 통해서 획득하겠지만 결과를 잘 검증한 후 기록하도록 하겠습니다.
제목을 변경해야겠네요. 상식이라기 보다는 기록 정도로 수정해야겠습니다.
본 슬로그는 AI 관련한 상식을 기록하기 위함입니다. LLM 서비스가 전문가 수준으로 발전했기 때문에 대부분의 소스는 LLM을 통해서 획득하겠지만 결과를 잘 검증한 후 기록하도록 하겠습니다.
제목을 변경해야겠네요. 상식이라기 보다는 기록 정도로 수정해야겠습니다.
from Copilot
LLM(대규모 언어 모델) 기반 서비스에서 Chat과 Agent는 비슷해 보이지만, 기능과 역할에서 차이가 있습니다.
쉽게 말해, Chat은 대화 중심, Agent는 실행 중심이라고 볼 수 있습니다. 하지만 두 개념이 점차 결합되면서, 대화형 AI도 점점 더 강력한 에이전트 역할을 수행하는 방향으로 발전하고 있습니다.
from Copilot
SLM(소형 언어 모델)과 LLM(대규모 언어 모델)의 가장 큰 차이는 모델 크기와 성능입니다. LLM은 수천억 개 이상의 매개변수를 가진 대규모 AI 모델로, 방대한 데이터를 학습하여 다양한 자연어 처리 작업을 수행할 수 있습니다. 반면, SLM은 수백만~수십억 개의 매개변수를 가진 소형 모델로, 특정 작업에 최적화되어 빠르고 효율적으로 작동합니다.
SLM이 유용한 분야:
최근 AI폰과 같은 온디바이스 AI 기술이 발전하면서 SLM이 더욱 주목받고 있습니다. 반면, LLM은 창의적인 텍스트 생성, 복잡한 질의응답, 코드 작성 등 고급 작업에 적합합니다
예시) 10만 라인 규모의 소스코드를 효과적으로 처리, 수정
from Copilot
사용 가능한 기술 스택 예시
“10만 라인 전체를 한 번에 바꾸는 게 아니라, LLM을 중심으로 한 에이전트가 ‘의도 → 회상 → 점진적 수정’ 루프를 돌며 점진적으로 코드를 바꿔가는 구조”
from Copilot
RAG는 Retrieval-Augmented Generation의 약자로, 한국어로는 보통 검색 증강 생성이라고 번역됨. LLM(대규모 언어 모델)의 한계를 보완하기 위해 고안된 기술임.
간단히 말하면, LLM이 답변을 생성할 때 외부 지식 베이스에서 관련 정보를 검색해와서 그 정보를 바탕으로 더 정확하고 신뢰도 높은 답변을 생성하는 방식. 마치 오픈북 시험을 보는 것처럼, 모델이 기억에만 의존하지 않고 참고 자료를 활용함.
예를 들어, 어떤 기업의 내부 문서나 최신 뉴스, 기술 문서 등을 벡터 데이터베이스에 저장해두고, 사용자의 질문이 들어오면 관련 내용을 검색해서 그걸 바탕으로 답변을 생성함. 이 방식은 특히 다음과 같은 상황에서 유용함:
요즘은 많은 기업들이 RAG 기반의 LLM 시스템을 도입해서 정확도와 신뢰성을 높이고 있음.
from Copilot
파인 튜닝(Fine-tuning)은 이미 학습된 AI 모델을 특정 작업이나 도메인에 맞게 미세 조정하는 과정임.
이는 범용 모델을 특정 목적에 적합하도록 최적화하는 작업임.
핵심 원리는 다음과 같음:
이와 같은 파인 튜닝은 전이 학습(Transfer Learning)의 일환으로, 기존에 학습한 지식을 새로운 작업에 적용하는 방식임. 이로 인해 적은 데이터와 자원만으로도 높은 성능을 달성할 수 있음
좋아요, Seil! LLM 파인튜닝을 위한 대표적인 도구들을 정리해봤어요. 각각의 특징도 함께 소개할게요:
대표적인 LLM 파인튜닝 도구
transformers, datasets, peft, accelerate 등을 활용from Copilot
Microsoft – Phi-3 시리즈
마이크로소프트는 Phi-3 모델을 통해 SLM 분야에서 기술적 우위를 확보했음. 경량임에도 불구하고 다양한 벤치마크에서 강력한 성능을 기록했으며, 모바일 및 엣지 환경에서도 운용 가능하다는 점에서 활용 가능성이 높다고 판단됨.
Google – Gemini Nano
구글은 Gemini Nano 모델을 통해 Android 기기 내 온디바이스 AI 구현을 목표로 했음. 초소형 구조와 효율성에 중점을 두었으며, 스마트폰 기반의 AI 기능 강화를 위한 최적의 선택지로 평가받고 있음.
Meta – LLaMA 3 8B
Meta의 LLaMA 3 8B 모델은 원래 LLM 범주에 속하지만, 파라미터 수와 성능 기준에서 SLM에 가까운 수준으로 경량화되었음. 오픈소스로 제공되며 커뮤니티의 적극적인 활용이 이루어지고 있음.
Mistral – Mistral 7B / Mixtral
프랑스 기반 Mistral은 Mistral 7B와 Mixtral 모델을 통해 고성능 소형 모델 시장을 선점하려는 전략을 취하고 있음. 특히 Mixtral은 mixture-of-experts 구조를 통해 높은 효율성과 성능을 동시에 달성했음.
S2W – CyberTuned
국내 기업 S2W는 사이버보안 특화 모델인 CyberTuned를 공개했음. 기존 DarkBERT의 후속으로, 다크웹 및 위협 인텔리전스 분석에 초점을 맞춘 SLM 개발의 가능성을 입증했음.
코드 생성을 위해 LLM을 잘 활용하기 위한 LLM의 한계 확인
입력 토큰, 기억, 출력 토큰
입력 토큰: 지침을 포함하여 해석할 수 있는 코드의 양이 입력 토큰으로 정해지기 때문에 너무 작으면 코드 생성에 활용할 수 없다.
기억 용량: 모델의 단기 기억으로 모델이 맥락을 이해하는 척도이다. 기억 용량이 작으면 맥락이 깨지므로 코드 생성에 활용할 수 없다.
이를 보완하기 위해 RAG 또는 퍼시스턴트 메모리 구조를 이용해 한계를 극복할 수 있다고 한다.
출력 토큰: 답의 길이. 코드 생성 시 한 파일 당 2000라인 정도를 생성해야 활용할 수 있는 수준이라고 할 수 있겠다.
메모리란, AI가 사용자와의 이전 대화나 상호작용에서 중요한 정보를 저장하고, 이후 대화에서 이를 활용해 더 자연스럽고 맞춤화된 응답을 제공하는 기능
바이브 코딩을 위한 GitHub Copilot을 AI Agent라고 규정하는것이 좀 맞지 않을 수 있다는 것을 알았음
AI Agent는 자율적 의사결정을 할 수 있는 시스템을 보통 이야기하는 것 같음
Vertex AI 등이 AI Agent를 만드는 도구라 할 수 있음… 아마도?
GitHub Copilot의 agent mode를 AI Agent 기능이라 할 수는 있지만… 뭐랄까 좀 좁은 의미일 것 같음
일반적으로 LLM 모델은 메모리 기능이 없다. 잠깐만 생각해보면 명확한 것인데, 모델에 앞전 처리된 내용의 기억이 존재한다면 보안에 문제가 있을 것이기 때문이다.
그렇다면 우리가 너무나 자연스럽게 사용하는 연속된 대화 (멀티턴)의 질문과 답변이 이전 대화 맥락을 어떻게 유지하는가?
결론은 앞전 입력과 출력을 다음의 입력에 넣어줘서 연속성을 갖게 하는 것이다.
이것을 단순하게 처리하는 것을 Buffer Memory, 슬라이딩 윈도우로 처리하는 것을 Buffer Window Memory, 이것을 토큰 단위로 처리하는 것을 Token Buffer Memory, 좀 더 효율적으로 처리하기 위한 다양한 방식이 Entity Memory, Knowledge Graph Memory, Summary Memory, Vector Store Memory가 있겠다.
그런데 어쨌든 LLM은 메모리스 이므로 결국에는 효과적으로 이전 정보를 다시 입력하는 방법론이다.