[NLP] 자연어 처리 기초 내용 정리(Do it! BERT와 GPT로 배우는 자연어 처리 1장을 읽고)

SujiKim-hattoo·2025년 10월 1일

NLP

목록 보기
1/2
post-thumbnail

이 글은 Do it! BERT와 GPT로 배우는 자연어 처리: 트랜스포머 핵심 원리와 허깅페이스 패키지 활용법 <1장 처음 만나는 자연어 처리>를 읽고 공부하며 작성한 내용입니다.


Natural Language Processing

  • 정의: 사람이 사용하는 언어(자연어)를 컴퓨터가 이해하고 처리하도록 만드는 기술
  • 활용: 번역기, 유튜브 자막, 챗봇, 검색 엔진 등

여기서 중요한 질문
“컴퓨터가 언어를 이해한다는 것은 무엇을 의미할까?”


Computers understand human languages.

  • 컴퓨터가 인간처럼 언어의 의미를 이해한다.(X)
  • 컴퓨터는 입력된 문장을 계산을 통해 확률로 처리한다.(O)

예를 들어 “나는 행복하다”라는 문장을 입력 -> 모델은 이 문장이 긍정일 확률 0.9, 중립일 확률 0.1과 같은 식으로 출력. 즉, 이해라기보다는 확률 계산에 가까움.


NLP Model

  • 정의: 특정 입력값(문장이나 문서 형태의 자연어)을 받아 해당 입력이 특정 범주에 속할 확률을 반환하는 함수.
  • 예시: 감성 분석 모델 -> 하나의 문장을 입력받아 긍정, 부정, 중립 범주에 속할 확률을 출력

Basic terms in NLP Models

자연어 처리 모델이 동작하기 위해서는 학습 과정이 필요

  • 레이블(Label): 학습 데이터의 정답. 예) “나는 행복하다” -> "긍정" 라벨링(labeling)
  • 학습(Learn): 모델이 데이터 패턴을 익히는 과정.
  • 업데이트(Update): 모델이 예측한 값과 정답의 차이를 줄여가는 과정.
  • 트레인(Train): 학습과 업데이트를 반복하는 전체 과정.
  • 후처리(Post-processing): 모델이 출력한 확률값을 사람이 이해할 수 있는 언어(자연어)로 바꿔주는 단계.

Deep Learning in NLP

딥러닝: 인간의 뇌 구조를 본뜬 인공 신경망을 깊고 촘촘하게 쌓아 올려 -> 모델이 데이터 패턴을 스스로 학습하도록 하는 방법

자연어 처리 분야에서는 특히 트랜스포머(Transformer) 기반 모델이 많이 쓰임.
트랜스포머 모델 예시

  • BERT: 양방향 문맥을 이해. 빈칸 채우기 같은 태스크에 강함
  • GPT: 순방향 문맥을 이해. 다음 단어 예측하기 같은 태스크에 강함. 문장 생성에 활용됨.

Transfer Learning in NLP

자연어 처리 모델은 보통 트랜스퍼 러닝 방식 사용.

  • 트랜스퍼 러닝이란? 한 번 학습한 지식을 다른 과제에 재활용하는 기법

Upstream Task (사전 학습)

  • 대규모 말뭉치로 문맥을 이해하게 만드는 기본 훈련 단계
    • BERT 계열: 빈칸 채우기(마스크 언어 모델)
    • GPT 계열: 다음 단어 맞히기

Downstream Task (실제 활용)

  • 실생활 속 구체적인 과제들...

    • 문서 분류: 리뷰가 긍정/부정인지 판별
    • 자연어 추론: 두 문장이 모순인지, 참인지, 중립인지 판별
    • 개체명 인식: 문장에서 “서울”은 장소, “이순신”은 인물처럼 범주 구분
    • 질의응답: 질문과 지문을 입력받아 정답 추출
    • 문장 생성: 번역, 요약, 대화 생성 등
  • 다운스트림 태스크 수행 전략

    • 파인튜닝(Fine-tuning): 모델 전체를 새로운 데이터에 맞게 다시 학습
    • 프롬프트 튜닝(Prompt tuning): 모델 일부만 업데이트
    • 인컨텍스트 러닝(In-context learning): 모델을 업데이트하지 않고 예시만 제공
      • 제로샷: 예시 없이 수행
      • 원샷: 예시 1개만 제공
      • 퓨샷: 예시 몇 개 제공

(7Steps) How NLP Models Learn

자연어 처리 모델을 실제로 학습할 때는 다음과 같은 흐름을 따름

  1. 설정값 정의: 하이퍼파라미터, 러닝레이트, 배치 크기 등
  2. 데이터 준비: 학습/평가용 데이터셋 다운로드
  3. 사전 학습 모델 불러오기: 허깅페이스 트랜스포머 등
  4. 토크나이저 준비: 문장을 토큰 단위로 변환
  5. 데이터 로더 준비: 데이터를 배치 단위로 모델에 전달
  6. 태스크 정의: 분류, 질의응답 등 목적에 맞는 태스크 지정
  7. 모델 학습: 설정한 조건으로 트레이너를 통해 학습 수행

위 과정을 요리에 비유하면 아래와 같다..

  1. 설정값 정의 = 요리 레시피 정하기
  2. 데이터 준비 = 재료 사오기
  3. 사전 학습 모델 불러오기 = 반조리 식품 꺼내오기
  4. 토크나이저 준비 = 재료 손질하기
  5. 데이터 로더 준비 = 재료를 일정량씩 덜어내어 (배치 단위)한 접시씩 올려놓기
  6. 태스크 정의 = 요리 방식 결정하기
  7. 모델 학습 = 실제 요리하기

Conclusion

번역기, 챗봇, 추천 시스템, 그리고 계속해서 주목받고 있는 생성형 AI까지 모두 자연어 처리 모델 위에서 돌아가고 있다.

처음 공부할 때는
큰 그림(업스트림 → 다운스트림)을 먼저 이해하고,
그 안에서 세부 개념(BERT, GPT, 파인튜닝 등)을 차근차근 익히는 것이 중요해보인다.

기초는 이정도로 공부하고
앞으로 조금 더 심화 개념을 공부해보도록 한다..~~!~!

profile
˗ˋˏ 그럼에도 불구하고 ˎˊ˗

0개의 댓글