Post

01 AI&LLM 개념

01 AI&LLM 개념

1. Note

  • 기본적인 LLM과 AI개념
  • 전체적인 맥락과 흐름을 파악할것!
    • 과거의 AI가 특정한 목적과 학습을 중심으로 이루어져서, 범용적으로 들어가지 못했음.
    • 지금은 범용이되면서 잘 활용함, 다시 돌아가지 않도록 주의!
  • 토큰과 비용을 최소한으로 사용가능한 방법을 고민할 것!

2. AI 개념 & 과거의 AI 형태

1. 인공지능 (Artificial Intelligence, AI)

  • 개념
    • 인간의 지적 능력을 컴퓨터 소프트웨어로 구현한 포괄적인 개념
    • 과거에는 사람이 모든 규칙을 일일이 입력하는 방식(Rule-based)이었으나,
    • 현재는 스스로 학습하는 방식으로 진화함.
  • 핵심 목표: 추론(Reasoning), 학습(Learning), 계획(Planning), 소통(Communication).
  • 주요 활용 분야:
    • 자연어 처리 (NLP): 기계 번역(파파고, 구글 번역), 챗봇, 감성 분석.
    • 컴퓨터 비전: 자율주행차의 장애물 인식, 얼굴 인식 잠금 해제, 의료 영상 판독.
    • 음성 인식 및 합성: STT(Speech-to-Text)를 통한 자막 생성, TTS(Text-to-Speech)를 통한 AI 목소리 구현.

2. 머신러닝 (Machine Learning, ML)

  • 개념
    • 데이터를 이용하여 컴퓨터를 ‘훈련’시키는 방법론
    • 사람이 직접 알고리즘을 짜는 대신, 컴퓨터가 방대한 데이터 속에서 통계적 패턴을 찾아내도록 함.
  • 학습 방식의 분류:
    • 지도 학습 (Supervised Learning): 정답(Label)이 있는 데이터를 학습 (예: 스팸 메일 분류).
    • 비지도 학습 (Unsupervised Learning): 정답 없이 데이터의 유사성으로 그룹화 (예: 고객 군집 분석).
    • 강화 학습 (Reinforcement Learning): 보상과 처벌을 통해 최적의 행동을 학습 (예: 알파고).

3. 딥러닝 (Deep Learning, DL)

  • 개념
    • 인간의 뇌 구조인 생물학적 뉴런에서 영감을 얻은 인공 신경망(Artificial Neural Networks)을 활용한 머신러닝의 한 종류
  • 특징
    • 심층 신경망: 데이터가 여러 ‘은닉층(Hidden Layers)’을 통과하며 복잡한 특징을 스스로 추출
    • 비정형 데이터에 강함: 텍스트, 이미지, 영상처럼 복잡하고 정해진 규격이 없는 데이터를 처리하는 데 압도적인 성능을 보임
    • LLM의 기반: 우리가 흔히 쓰는 ChatGPT와 같은 거대언어모델(LLM) 역시 이 딥러닝 기술을 기반으로 탄생

4. 흐름

  • 여기 단계까지는 범용적이지않고 데이터를 모으기가 어려움.
  • 특정한 목적과 수단으로만 사용되었고, 그래서 일반적으로 사용하기 어려웠음
  • 그래서 있어도 쉽게 접근하거나 데이터를 입히는데 오래걸리는 상황이 왔음.
  • 그러다가 추후에 LLM 등장이후 범용적인 AI를 활용할 수 있게됨.

3. LLM

1. LLM

  • LLM은 딥러닝의 한 분야인 트랜스포머(Transformer) 아키텍처를 기반
  • 대규모 텍스트 데이터를 학습해 인간의 언어를 이해하고 생성하는 인공지능 모델
  • 수십억 개 이상의 파라미터를 통해 문맥을 기반으로 다음 단어를 확률적으로 예측
  • 이를 통해 번역, 요약, 질의응답, 코드 생성 등 다양한 작업을 하나의 모델로 수행할 수 있음

2. LLM의 ‘거대함’ 특징

  • 거대한 데이터 (Large Data) / 얼마나 많이 알고 있느냐
    • 인터넷 문서, 서적, 코드 등 페타바이트(PB) 단위의 방대한 텍스트를 학습
    • 언어 패턴, 문체, 맥락 학습
    • 코드/자연어 모두 대응 가능
  • 거대한 매개변수 (Large Parameters) / 얼마나 복잡하게 생각할 수 있느냐
    • 모델의 ‘지능’을 결정하는 파라미터가 수천억 개에 달함.
    • 문맥 이해 능력 증가
    • 미묘한 차이 구분 가능
    • 긴 문장/복잡한 관계 처리 가능
  • 범용성 (General Purpose) / 두 개의 “결과”
    • 하나의 모델로 번역, 요약, 코딩, 창의적 글쓰기 등 수많은 작업을 동시에 수행할 수 있음
    • 번역, 요약, 코드 생성, 질문 응답, 글쓰기 등 다양한 곳에서 활용이 가능해짐

3. LLM 학습 3단계

  • 사전 학습 (Pre-training)
    • 대규모 텍스트 데이터를 기반으로 언어의 구조, 문맥, 일반적인 상식을 학습하는 단계
    • 쉽게 말해, 다양한 글을 읽으며 “말하는 법” 자체를 익히는 과정
  • 미세 조정 (Fine-tuning)
    • 사전 학습된 모델을 특정 목적이나 도메인(의료, 법률, 고객 상담 등)에 맞게 추가로 학습시키는 단계
    • 이를 통해 보다 정확하고 전문적인 응답이 가능함
  • 프롬프트 설계 (Prompt Design)
    • 별도의 추가 학습 없이, 입력 문장(프롬프트)을 어떻게 구성하느냐에 따라 원하는 결과를 유도하는 방법
    • 모델의 성능을 효과적으로 끌어내는 실질적인 활용 단계라고 볼 수 있음

4. 주요 AI 특징 (2026.03.23 기준 => 계속 바뀜)

모델명개발사주요 특징 및 강점
GPT-4 / 4oOpenAI현존하는 가장 강력한 범용성
논리적 추론과 창의적 작업에 탁월
텍스트/이미지/음성을 동시에 처리하는 옴니(Omni) 기능을 지원
Claude (클로드)Anthropic안전성과 가독성
인간의 가치관에 부합하는 답변(Constitutional AI)을 생성
자연스럽고 정중한 말투가 특징
Gemini (제미나이)Google멀티모달 & 구글 생태계
텍스트뿐만 아니라 이미지, 영상 등을 깊게 이해
구글 문서, 이메일 등과 강력하게 연동
Llama (라마)Meta오픈소스의 리더
누구나 내려받아 수정하고 사용할 수 있음
기업들이 자체적인 보안 AI를 구축할 때 가장 많이 활용

4. LLM 작동원리

1. 질의문 입력

  • 사용자가 “Spring Boot란 무엇인가?”와 같은 자연어 문장을 입력
  • LLM은 이 문장을 곧바로 이해하는 것이 아니라, 처리 가능한 데이터 형태로 쪼개기 시작

2. 토큰화 (Tokenization)

  • 문장을 모델이 처리할 수 있는 작은 단위(토큰)로 쪼개는 과정
    • ["Spring", "Boot", "란", "무엇", "인가", "?"]
  • 나누는 이유
    • 새로운 단어 대응 가능 :모르는 단어도 쪼개서 이해 가능
    • 데이터 효율성 : 단어 전체를 다 외우는 것보다 효율적
    • 언어 공통 처리 : 영어, 한국어, 코드까지 하나로 처리 가능
  • 체크해야하는 이유
    • 토큰은 AI의 과금 단위이자 메모리 단위
    • AI 모델의 비용은 토큰 수로 결정
    • GPT-4o 입력 $2.5/1M tokens, 출력 $10/1M tokens

3. 임베딩 (Embedding)

  • 토큰(단어 등)을 모델이 이해할 수 있는 숫자 벡터로 바꾸는 과정
  • 의미를 숫자 공간에 표현하는 것
  • 비슷한 의미일수록 벡터값도 비슷

4. 트랜스포머(Transformer) 처리 / “지식의 저장소 및 정제”

  • 임베딩된 단어들 사이의 관계를 계산해서 문맥을 이해하는 과정
  • 트랜스포머의 핵심 단계 2가지
    • 셀프 어텐션 (Self-Attention)
      • 단어들끼리 서로를 비교하면서 중요한 관계를 찾는 단계
      • 각 단어가 다른 단어들을 얼마나 참고할지 계산
      • LLM이 인간의 질문 의도와 문맥을 이해하는 가장 중요한 핵심 기술
    • 피드 포워드 (Feed Forward)
      • 셀프 어텐션 결과를 더 정교하게 가공하는 단계
      • 각 토큰(단어)의 위치에서 독립적으로 적용되는 비선형 신경망
      • 각 단어 벡터를 개별적으로 변환
      • 중요한 특징은 강화
      • 불필요한 정보는 약화

5. 다음 토큰 예측

  • 다음에 올 가장 확률 높은 토큰을 하나씩 찾아내는 과정을 가짐
  • 예측 하는 이유
    • 창의성과 유연성
      • 매 순간 확률 기반으로 다음 토큰을 선택
      • 같은 질문에도 결과가 조금씩 달라짐
      • 딱 정해진 답이 아니라 자연스러운 문장 생성
    • 맥락 유지 (Context 유지)
      • 이전에 생성한 내용을 계속 입력으로 다시 사용
      • 문장이 길어질수록 계속 누적됨
      • 앞뒤 문맥, 논리, 문장 흐름 유지 가능
    • 지식의 인출 (패턴 기반 재구성)
      • 가장 확률 높은 조합을 선택
      • 지식을 “꺼내는” 느낌이지만 실제로는 지식을 저장한 게 아니라, 패턴을 조합해서 재구성

6. 토큰 선택 및 반복 (예시)

  • 반복작업하면서 문장을 완성함
  • 예시
단계입력(Input / Context)모델 내부 처리 (어텐션+FFN)예측 결과 (Output)
1회차“Spring Boot는”문맥 파악 후 확률 계산“Java”
2회차“Spring Boot는 Java”전체 문맥 다시 읽기“기반의”
3회차“Spring Boot는 Java 기반의”전체 문맥 다시 읽기“프레임워크”
종료… “프레임워크입니다.”문장이 끝났음을 의미하는 <EOS> 토큰 예측(멈춤)

7. 최종 응답 생성

  • 생성된 토큰 뭉치를 다시 인간이 읽을 수 있는 텍스트로 변환하여 화면에 출력

5. 비용과 토큰

1. 비용과의 관계 (직설적 영향)

  • 토큰 수 = 돈: 문장을 잘게 쪼개서 토큰 수가 많아질수록 비용은 선형적으로 증가함.
  • 언어별 차이: 영어는 단어 단위로 깔끔하게 잘리는 편이지만, 한글은 형태소 분석 특성상 같은 의미라도 영어보다 1.5배~2배 더 많은 토큰을 소모하는 경우가 많음

2. 성능과의 관계 (효율적 영향)

  • 문맥 유지 능력
    • 모델이 한 번에 기억할 수 있는 ‘용량(Context Window)’은 토큰 개수로 정해져 있음.
    • 토큰화를 너무 낭비하게 하면, 모델이 대화의 앞부분을 금방 잊어버리게 되어 성능이 떨어짐
  • 학습 효율
    • 토큰이 너무 잘게 쪼개지면(글자 단위 등), AI가 단어 사이의 관계를 파악하는 데 더 많은 연산이 필요해져 답변 속도가 느려짐

3. 토큰을 줄이는 포인트

  • 불필요한 서술어 및 공백 제거
    • Bad: “안녕하세요, 제가 지금 스프링 부트를 공부하고 있는데, 스프링 부트가 정확히 무엇인지 아주 자세하고 친절하게 설명해 주실 수 있을까요?” (약 40~50토큰)
    • Good: “Spring Boot 정의 및 특징 요약해줘.” (약 10~15토큰)
  • 영어 혼용 및 전문 용어 사용
    • 한글 조사(~은/는/이/가)나 서술어는 토큰을 많이 잡아먹음.
    • 전문 용어는 영어로 쓰는 것이 토큰 효율이 좋음
    • 예시: “자바 기반의 웹 프레임워크” 보다는 “Java Web Framework” 영어가 토큰을 덜 사용함
  • 출력 형식 지정 (Output Formatting)
    • AI가 구구절절 서론을 쓰지 않게 제약 조건을 걸기
    • 예시) “답변은 불필요한 인사말 없이 불렛 포인트로만 작성해줘.”
    • 예시) “핵심 내용만 3문장 이내로 요약해줘.”
  • 시스템 프롬프트 활용
    • 반복되는 지시사항은 대화마다 넣지 말고, ‘시스템 역할(System Role)’에 한 번만 정의하여 대화 도중 발생하는 중복 토큰을 방지
This post is licensed under CC BY 4.0 by the author.