Skip to content
딥러닝 NLP

10주차: 사전학습 언어모델, BERT와 GPT

사전학습 언어모델, BERT와 GPT.

□ 이번 주에 하는 일

  • 사전학습: 많은 글에서 언어 패턴을 먼저 익힌 모델을 가져다 쓰는 방식
  • BERT 계열: 문장의 앞뒤를 함께 읽고 빈칸이나 문장의 특징을 판단하는 방식
  • GPT 계열: 앞에서 읽은 토큰을 바탕으로 다음 토큰을 하나씩 이어 붙이는 방식
  • 실습 목표: 제공된 노트북을 그대로 실행하고, 감정분류 결과와 생성문을 읽는 연습
제주 돌담 도서관의 펼친 책. 왼쪽 페이지의 카드 사이에는 점선 빈칸이 있고, 오른쪽 페이지의 카드 끝에서는 다음 보라색 카드로 화살표가 이어지는 모습

책의 가운데를 가려 놓으면 빈칸 앞뒤를 함께 읽을 수 있다. 책의 마지막 줄 뒤에 새 글을 쓰려면 아직 없는 다음 줄은 읽을 수 없다. 표지와 책장은 같아 보여도 풀어야 할 문제와 볼 수 있는 단서가 다르다. 이번 주에는 이 차이를 공개 모델의 실제 결과로 확인한다.

□ 9주차에서 이어지는 자리

9주차는 트랜스포머가 토큰 사이의 관계를 살피는 방법을 다룬 주차. 이번 주는 어떤 문제로 미리 연습했는가에 따라 같은 트랜스포머 계열도 쓰임이 달라진다는 점의 확인.

비교9주차10주차
핵심 질문문맥에서 다른 토큰을 어떻게 참고하는가무엇을 맞히도록 미리 학습했는가
살펴볼 것어텐션과 문맥 표현양방향 읽기와 자동회귀 생성
실습 범위제공된 실행 결과 읽기공개 모델의 분류·생성 결과 읽기

7주차의 공개 단어 벡터도 이미 학습된 숫자를 가져다 쓰는 도구였다. 그러나 단어 하나의 자리는 문맥이 달라도 같았다. 이번 주 모델은 wonderful 앞에 not이 있는지까지 참고해 문장 전체의 특징을 만든다. 미리 학습했다는 공통점과 문맥을 사용하는 차이를 함께 보자.

□ 이 문서를 읽는 법

  • 수식 없이 입력, 모델의 학습 과제, 출력의 차이부터 확인
  • GPT는 이 문서에서 모델 계열의 이름으로 사용
  • 기본 실습 입력은 제주관광공사 VisitJeju 올레 6코스 안내의 첫 절 짧은 발췌. 열람일 2026-10-11
  • 발췌 원문: Jeju Olle Trail Route 6 is an 11-kilometer coastal and urban trail. 원문 뒤에는 경로 설명이 이어지며, 실습에서는 절 끝에 마침표 추가
  • wonderful과 not wonderful 문장은 사람이 작성한 감정 통제 예시. 공식 원문·실제 후기·기업 데이터와 구분
  • 제주 공개 데이터 출처에서 실제 안내 확인. 열람한 페이지의 상단 설명 13.3km와 상세 본문의 11km 표기가 달라, 최신 코스 길이는 추가 확인 전 판단 보류
  • 그림은 학습 방식의 모식도. 숫자 없는 설명용 시연이며 실제 모델 추론 결과와 구분
  • 라벨·score·생성문 표는 동일한 기본 입력과 설정의 노트북을 실제 실행한 관찰값. score는 소수 넷째 자리로 반올림. 실행 환경이 달라지면 값이 일부 달라질 수 있으므로 내 실행 결과도 함께 확인

강의 1: 사전학습과 양방향 읽기

Section titled “강의 1: 사전학습과 양방향 읽기”

□ 사전학습은 무엇인가

관광 안내 업무에 새로 온 사람에게 제주 안내문을 한 장씩 읽히는 상황의 가정. 처음부터 읽기 자체를 가르치기보다, 이미 글을 읽을 줄 아는 사람에게 관광 안내 업무를 맡기는 편이 빠른 준비.

모델에서도 같은 구분. 사전학습은 많은 글을 바탕으로 낱말의 연결과 문맥 패턴을 먼저 익히는 과정. 모델 안에 그 결과가 숫자로 저장된 상태를 가져와 사용하는 방식. 문서를 그대로 보관하는 공식 자료집과는 다른 구조.

  • 사전학습 단계: 다양한 글에서 언어 패턴 학습
  • 미세조정 단계: 이미 학습한 모델에 특정 과제의 예시를 추가해 과제에 맞게 조정
  • 추론 단계: 완성된 모델에 새 입력을 넣어 결과 확인
  • 이번 주의 범위: 추론만 실행. 학습 코드 작성·실행 제외
제주 돌담 도서관의 책장 앞에서 학생이 책을 읽으며 색 카드 네 장을 작업 노트 옆에 놓는 그림

그림은 읽기 경험을 새 작업에 활용하는 비유이며 실제 신경망 구조를 그린 것이 아니다. 책을 많이 읽은 사람은 처음 보는 문장에서도 자연스러운 말의 연결을 짐작할 수 있다. 모델도 큰 말뭉치에서 반복된 표현을 학습해 새 문장의 단서를 이용한다. 6주차에 작은 말뭉치의 우연이 벡터를 흔들었듯이, 어떤 글을 얼마나 보고 배웠는가는 가져다 쓰는 모델의 결과에도 남는다.

하지만 이 비유에서 “많이 읽음”을 “모든 사실을 확인함”으로 바꾸면 안 된다. 모델의 학습 결과는 문장별 원문과 열람일을 보관한 표가 아니다. 글의 연결을 예측하는 데 쓰는 숫자들이며, 정확한 지식을 드러낼 때도 있고 그럴듯한 오류를 낼 때도 있다. 사전학습은 읽기 경험의 축적이지 최신 사실 데이터베이스의 구축이 아니다.

예를 들어 공개 안내에 코스 길이가 11km라고 쓰인 문장이 있다고 하자. 이 문장을 모델에 넣으면 문장을 분류하거나 뒤를 이어 쓸 수 있다. 그러나 모델이 잘 실행됐다는 사실로 “지금 코스 길이도 11km”라는 결론을 얻지는 못한다. 노트북은 입력과 과제의 관계를 관찰하고, 최신 운영 정보는 공식 출처에서 따로 확인해야 한다.

실제로 2026-10-11에 열람한 올레 6코스 페이지는 상단 설명에 13.3km, 상세 본문에 11km를 표시했다. 실습의 11-kilometer는 그 상세 본문의 짧은 발췌를 유지한 것이다. 두 숫자 중 최신 정답을 모델 점수로 고르지 않는다. 특정 원문 발췌를 입력으로 사용했다는 사실과 운영 정보를 확정했다는 판단의 구분이 필요하다.

□ 왜 사전학습 모델을 가져오는가

지금 필요한 것이 영어 문장 세 개의 감정 라벨이라면, 세 문장만으로 읽기 능력을 처음부터 학습하기 어렵다. 단어의 쓰임과 문맥에 관한 연습이 이미 끝난 공개 모델을 가져오면, 학생은 학습 장비를 준비하기보다 새 입력을 넣고 실제 결과를 살피는 일부터 시작할 수 있다.

준비 방식내가 준비할 것이번 주와의 관계
처음부터 사전학습큰 말뭉치, 긴 학습, 장비와 검증이번 과목의 실습 범위 밖
이미 사전학습된 모델 미세조정과제별 정답 예시와 추가 학습개념만 구분, 코드 제외
과제에 맞게 완성된 모델 추론공개 모델, 짧은 입력, 출력 해석이번 노트북에서 실행

세 행은 모델을 많이 쓴다는 순위가 아니라 어디까지 준비돼 있는가의 차이다. 이번에 가져올 분류 모델은 사전학습과 감정분류 미세조정까지 끝난 상태다. 학생이 노트북의 실행 버튼을 누르는 것은 마지막 행에 해당한다.

이미 만든 도구를 빌려 쓰는 것과 새 도구를 만드는 것의 구분. 도구를 가져오는 비용도 필요하지만, 처음부터 모델을 학습하는 비용과는 다른 수준의 준비.

□ BERT: 빈칸 앞뒤를 함께 읽기

Jeju has a [MASK] near the coast.라는 설명용 문장의 가정. 빈칸 앞의 Jeju has a뿐 아니라 뒤의 near the coast도 빈칸을 판단하는 단서.

BERT의 마스크 언어모델 학습은 일부 토큰을 가리고 원래 토큰을 맞히는 연습. 가려진 위치를 판단할 때 좌우 문맥을 모두 참고하는 것이 양방향 읽기의 뜻. 여기서 빈칸은 원래 문장에 있었던 토큰을 복원하는 자리이지 사실 검색 결과가 아님.

  • 양방향: 판단할 위치의 앞과 뒤에 있는 문맥 활용
  • 자동회귀: 다음 토큰을 판단할 때 이미 주어진 앞쪽 문맥 활용
  • 같은 입력이라도 판단할 자리와 볼 수 있는 문맥의 차이
  • 그림 속 선택은 문맥 범위 표시일 뿐, 실제 모델이 어떤 토큰을 예측할지의 증거가 아님

□ 양방향은 무엇을 함께 본다는 뜻인가

빈칸 앞에 Jeju has a만 있으면 뒤에 올 말의 후보는 매우 넓다. 뒤에 near the coast가 있다는 사실을 함께 보면 문장의 조건이 하나 더 생긴다. BERT의 양방향 읽기는 판단할 자리가 문장 안에 있고, 그 자리의 좌우 문맥을 함께 쓸 수 있다는 뜻이다. 사람이 답을 읽어 알려 주는 단계가 아니다.

빈칸 문제의 정답은 학습 때 가리기 전 원래 토큰이다. 현실 세계의 참인 사실 목록과는 구분해야 한다. 원문이 틀렸거나 오래됐더라도 원래 토큰을 맞히는 연습 자체는 가능하다. 그래서 마스크 언어모델의 결과를 해석할 때도 “원문 표현을 맞혔는가”와 “지금 사실이 맞는가”를 따로 묻는다.

위 그림에서 BERT 버튼을 누르면 빈칸 뒤의 카드도 단서로 표시되고, GPT 버튼을 누르면 뒤쪽은 아직 없는 자리로 표시된다. 이 그림이 알려 주는 것은 접근할 수 있는 문맥의 범위뿐이다. 강조된 카드를 실제 어텐션 값으로 읽거나, 표시만으로 빈칸 정답을 확정하지 않는다.

□ 빈칸 모델이 문장을 분류하는 이유

빈칸을 맞히도록 익힌 문맥 표현은 문장 전체의 특징을 파악하는 데 활용 가능. 그 위에 특정 라벨을 고르는 분류 기능을 붙이고 해당 과제에 맞게 미세조정하는 방식.

이때 출력 헤드라는 이름을 만난다. 모델이 만든 문맥 표현을 마지막에 어떤 형태의 답으로 바꿀지 정하는 부분이다. 빈칸 모델의 마지막 부분은 가려진 자리에 들어갈 토큰을 고르고, 감정분류 모델의 마지막 부분은 문장에 붙일 라벨을 고른다. 입력을 읽는 기반 능력을 활용하되 출력의 종류는 달라지는 것이다.

식당의 같은 재료로 메뉴를 다르게 내는 비유로 생각해 보자. 재료가 비슷해도 마지막 조리와 접시에 올리는 방식이 다르면 손님에게 돌아가는 결과가 다르다. 모델도 문맥 표현을 만든다는 공통점만으로 라벨 분류와 토큰 예측을 같은 과제로 볼 수 없다. 모델 이름뿐 아니라 그 모델에 어떤 출력 기능이 붙어 있는지 확인해야 한다.

구분새 입력에서 하는 일출력
마스크 언어모델가려진 자리를 읽고 원래 토큰 예측토큰 후보
문장 감정분류기문장 전체를 읽고 정해진 라벨 선택POSITIVE 또는 NEGATIVE와 score
자동회귀 생성기현재 글을 읽고 다음 토큰을 반복 선택새로 이어 쓴 글

9주차에 빈칸 관찰에 사용한 BERT 계열 모델과 이번 감정분류 모델은 같은 파일이 아니다. 둘 다 문맥을 읽지만 학습된 과제와 마지막 출력이 다르다. 이번 주에서는 빈칸 학습의 원리를 설명하고, 실제 실습은 완성된 감정분류기를 가져다 실행한다.

이번 노트북의 분류 모델은 DistilBERT 계열을 영어 영화평 감정분류에 이미 미세조정한 모델. 원본 BERT를 직접 실행하는 실습이 아니라, BERT 계열의 문맥 읽기 능력을 사용하는 경량 모델의 활용.

입력 예시모델에게 요구하는 것모델이 반환하는 것
The walk by the sea in Jeju was wonderful.긍정/부정 중 하나 선택감정 라벨과 해당 라벨의 score
The walk by the sea in Jeju was not wonderful.부정 표현까지 읽고 라벨 선택감정 라벨과 해당 라벨의 score
Jeju Olle Trail Route 6 is an 11-kilometer coastal and urban trail.중립 설명에도 두 라벨 중 하나 선택감정 라벨과 해당 라벨의 score

위 표의 감정 문장 두 개는 부정 표현 비교를 위한 통제 예시이며 마지막 문장은 공개 관광안내 발췌. 위 표는 입력과 출력 형식의 안내. 실제 라벨과 점수는 노트북 실행 후 기록.

□ 제주 공개 원문을 넣었을 때 실제로 나온 결과

노트북의 첫 입력은 올레 6코스 안내의 첫 절이다. 길과 코스에 대한 설명이며, 여행자가 좋았다거나 나빴다고 평가한 후기 문장이 아니다. 그다음 두 입력은 부정 표현 하나의 영향을 비교하려고 사람이 만든 통제 예시다.

입력의 역할실제 라벨score관찰
공개 안내 발췌POSITIVE0.9911평가가 없는 설명에도 긍정 라벨
통제 예시: was wonderfulPOSITIVE0.9999긍정 표현에서 긍정 라벨
통제 예시: was not wonderfulNEGATIVE0.9998not을 넣자 부정 라벨

이 표에서 흥미로운 것은 첫 행이다. 통제 예시 두 개의 라벨은 예상과 맞았지만, 그 사실만으로 모든 종류의 제주 문장을 잘 분류한다고 말할 수 없다. 중립적으로 읽히는 공개 설명에 0.9911의 높은 긍정 점수가 나왔기 때문이다. 문제를 찾으려면 라벨 목록과 학습한 자료로 돌아가야 한다.

이 모델은 POSITIVE와 NEGATIVE만 선택. NEUTRAL이 없으므로 중립 문장에도 하나를 고르는 구조. POSITIVE는 “관광”이나 “바다”라는 주제 라벨이 아니라 감정 라벨.

감정분류기를 관광 문의 분류에 사용하려는 경우를 생각해 보자. “올레길 교통편을 알려 주세요”를 넣어 POSITIVE가 나오더라도 “교통”으로 분류한 것이 아니다. 분류기의 답안지에는 교통·숙박·식당이라는 칸이 없기 때문이다. 필요한 라벨이 답안지에 있는가를 먼저 확인해야 모델을 쓸지 말지 판단할 수 있다.

□ 강의 1에서 꼭 가져갈 것

  1. 사전학습, 미세조정, 추론의 구분
  2. BERT의 빈칸 예측에서 앞뒤 문맥을 모두 참고하는 이유
  3. 분류 결과를 해석하기 전 학습한 과제와 라벨 목록의 확인
  4. 감정분류를 관광 주제 분류로 해석하지 않는 원칙

강의 2: 자동회귀 생성과 모델 선택

Section titled “강의 2: 자동회귀 생성과 모델 선택”

□ GPT: 한 토큰씩 이어 붙이기

A visitor walking along the coast of Jeju Island를 입력한 상황의 가정. GPT 계열은 이 앞부분을 보고 다음 토큰을 고른 뒤, 그 토큰을 입력 끝에 붙여 다시 다음 토큰을 고르는 방식.

자동회귀는 앞에서 나온 토큰까지 참고해 다음 토큰을 반복적으로 예측하는 방식. 9주차에서 본 어텐션도 다음 자리에 아직 없는 미래 토큰을 미리 볼 수 없도록 제한. 토큰은 단어 전체일 수도, 단어 조각일 수도 있는 단위.

  • 그림: 사람이 정해 둔 단어 조각을 붙이는 설명용 모식도
  • 노트북: 사전학습 모델이 실제로 다음 토큰을 고르는 추론
  • 생성 중 길이 제한에 도달하면 문장 중간에서도 종료 가능
  • 매 단계의 그럴듯한 선택과 글 전체의 정확한 내용은 별개의 문제

□ 자기 출력이 다음 문맥이 되는 과정

이어쓰기는 첫 선택으로 끝나지 않는다. 새 토큰 하나를 붙이면, 다음 예측에서는 그 토큰까지 이미 있는 글로 취급한다. 다시 하나를 붙인 다음에는 그 두 토큰도 문맥의 일부다. 자기가 만든 표현이 다음 선택의 조건으로 돌아오는 구조다.

단계이번 단계에서 참고하는 것다음 단계로 넘기는 것
시작사용자가 준 공개 안내 발췌발췌와 첫 생성 토큰
다음발췌와 방금 생성한 토큰그 뒤에 새 토큰을 붙인 전체 글
반복입력과 지금까지 생성한 부분점점 길어지는 글
종료종료 조건 또는 새 토큰 상한생성된 부분 반환

이 구조는 긴 글을 만들 수 있게 해 주지만, 앞에서 잘못 붙인 내용이나 반복도 뒤의 조건으로 남게 한다. “popular”를 한 번 썼다고 인기 여부를 다시 조사하는 과정은 없다. 생성된 글을 다시 문맥으로 읽으면서 비슷한 표현을 반복 선택할 수 있다. 글을 이어 가는 계산 흐름과 글을 고치는 검토 절차를 구분해야 한다.

□ 이번 실습의 생성 모델

DistilGPT2는 GPT-2 계열의 영어 이어쓰기 모델을 경량화한 공개 모델. 대화용으로 질문을 받아 정답을 알려 주는 과제가 아니라, 주어진 글 뒤를 이어 쓰는 과제.

  • CPU 환경에서 사용할 수 있도록 짧은 입력과 최대 32개 새 토큰으로 제한
  • do_sample=False: 매 단계에서 가장 높은 점수의 토큰을 선택하는 설정
  • 동일 설정으로 반복 실행해 결과를 비교하는 방식. 소프트웨어 환경 차이까지 완전히 같다는 보장은 없음
  • 실제 노트북의 시작 문장은 올레 6코스 공개 안내의 발췌. 원문의 다음 문장을 복원하는 과제와 구분
  • 출력은 입력에 이미 있던 부분을 제외한 새로 이어 쓴 부분만 표시

생성문에서 제주와 무관한 이야기가 나오거나 같은 말이 반복될 수 있는 모델. Jeju라는 단어를 넣었다는 사실만으로 제주 전문 안내가 되는 것은 아님.

□ 실제 이어쓰기에서 반복을 발견하기

공개 발췌 문장을 기본 입력으로 실행한 노트북에서는 다음과 같은 새 글이 붙었다. 모델의 관찰 결과를 그대로 인용하며, 원문의 다음 문장이나 사람이 작성한 정답과는 구분한다.

It is a popular route for hikers and hikers. It is a popular route for hikers and hikers. It is a popular route for hikers and hikers. It is

한 문장 안에서 hikers and hikers가 겹치고, 같은 문장 전체도 세 번 반복한다. 마지막에는 It is까지만 남는다. 이 출력 하나에서도 각각 다른 원인을 읽을 수 있다.

  • 같은 단어의 중복: 의미 있는 대비나 추가 정보 없이 hikers 반복
  • 같은 문장의 반복: 자기 출력까지 참고하는 과정에서 비슷한 다음 선택이 되풀이된 관찰
  • 문장 중간의 종료: 최대 32개 새 토큰이라는 길이 제한 아래에서 얻은 결과. 문장이 완성될 때만 종료하는 설정이 아님
  • 원문에 없는 주장: popular라는 인기 평가의 생성. 노트북이 실제 인기도를 측정하거나 공식 근거를 찾은 것은 아님

길이 제한은 계산량을 줄이는 안전한 실습 조건이지만 글의 품질을 고치는 도구는 아니다. 더 길게 생성하면 반복이 더 늘 수 있고, 짧게 끊으면 미완성 문장이 남을 수 있다. 이번 주는 설정을 바꾸며 튜닝하지 않고, 현재 출력에서 무엇이 일어났는지 읽는 것을 목표로 한다.

이 결과를 3주차 N-그램과도 연결할 수 있다. 두 방법 모두 이미 주어진 앞부분을 조건으로 다음 조각을 고른다. 달라진 것은 문맥을 표현하고 다음 조각의 점수를 만드는 방식이다. 더 풍부한 문맥 표현을 사용하는 모델도 글이 반복되는 문제나 사실 검증의 필요에서 자동으로 벗어나지는 않는다.

□ score와 사실성을 구분하기

분류의 score는 입력 하나에 대해 모델이 선택한 감정 라벨에 부여한 점수. 실제 정확도는 정답이 있는 여러 문장의 결과를 별도로 대조해야 확인 가능한 값.

생성도 비슷한 주의 필요. 언어 패턴상 자연스러운 문장과 공식 정보에 근거한 문장은 별개. 운영시간, 교통편, 가격이 생성되면 공식 공개 안내와 대조하기 전에는 미확인 주장.

분류기의 POSITIVE 0.9911과 생성기의 popular는 비슷해 보이지만 서로 다른 출력이다. 첫째는 두 감정 라벨 중 선택한 라벨의 점수이고, 둘째는 글에 새로 붙인 표현이다. 둘 중 어느 것도 코스가 실제로 인기 있거나 좋은지 측정한 값은 아니다. 출력의 형태가 다르면 확인할 근거도 달라진다.

펼친 책에서 두 화살표가 이어지는 그림. 왼쪽의 빈 문장 카드 세 장은 청록색과 주황색 바구니 두 개로 분류되고, 오른쪽의 문장 카드 세 장 끝에는 점선 빈 카드가 덧붙는 모습

그림은 분류와 이어쓰기의 출력 차이를 보여 주는 비유이며 실제 신경망 구조가 아니다. 분류는 바구니처럼 정해 둔 답 칸 중 하나를 고른다. 이어쓰기는 카드의 끝에 빈 자리를 덧붙이듯 토큰을 새로 붙인다. 그림을 볼 때 “어느 쪽이 더 똑똑한가”보다 내가 필요한 결과가 정해진 종류인가, 새 글인가를 먼저 묻자. 두 과제 모두 결과를 읽은 뒤 적합성과 오류를 점검할 사람이 필요하다.

□ 그대로 쓰기 전에 확인할 기준

인력과 장비가 적은 도내 조직을 상정한 조건에서 도구 선택. 실제 기업의 데이터나 운영 사례와는 구분.

확인 기준조건이 맞는 경우맞지 않는 경우의 다음 선택
입력 언어영어 모델에 영어 입력한국어를 지원하는 공개 모델부터 탐색
출력 라벨필요한 결과가 긍정/부정관광 주제처럼 다른 라벨이면 과제에 맞는 모델 탐색
내용의 사실성창작용 초안이며 사람이 검토공식 안내는 출처 대조와 사람 검토 필수
자원짧은 입력과 CPU 추론 가능더 작은 모델이나 규칙 방식 검토
확인용 데이터공개 자료의 예시와 정답 준비평가 자료부터 정리, 성능 단정 보류

새 모델을 처음부터 학습하는 결론보다 과제에 맞는 공개 모델 선택, 공개 자료 정리, 기존 규칙 보완부터 검토하는 순서. 미세조정이 필요한지는 평가 뒤의 판단이며 이번 실습에서 구현하지 않는 범위.

□ 강의 2에서 꼭 가져갈 것

  1. GPT 계열의 생성은 다음 토큰을 반복적으로 이어 붙이는 방식
  2. 이어쓰기 모델과 질문에 답하는 대화 모델의 구분
  3. 분류 score와 실제 정확도, 생성문과 사실 확인의 구분
  4. 모델을 그대로 쓰기 전 언어·과제·라벨·자원·검토 방식 확인
  • 빈칸 과제: Jeju has a [MASK] near the coast.에서 앞뒤를 함께 읽는 방식의 적합성 예상
  • 이어쓰기 과제: A visitor walking along the coast of Jeju Island 뒤를 이어 쓰는 방식의 적합성 예상
  • 분류 과제: 중립 문장에도 긍정/부정 중 하나가 나올 수 있는 이유 예상
  • 세 과제별 모델 선택과 볼 수 있는 문맥·학습한 과제의 근거 기록
과제예상한 방식판단 근거
중간의 가려진 토큰 복원
글의 뒤에 새 토큰 생성
문장 감정 라벨 선택

필수 작업은 코드 작성이 아니라 제공된 노트북의 전체 실행과 결과 읽기. 선택적으로 입력 문장 한 곳만 교체하는 방식.

  1. 준비 셀 실행과 CPU 사용 확인
  2. 모델의 이름, 버전, 영어 지원, 감정 라벨 확인
  3. 공개 안내 발췌와 사람이 작성한 긍정·부정 통제 예시의 분류 결과 읽기
  4. 제공된 시작 문장의 실제 이어쓰기 결과 읽기
  5. 선택 활동: TODO의 짧은 영어 입력 문장 한 곳만 교체하고 전후 비교
  6. 확인 질문에 실제 결과와 해석 기록

노트북을 실행할 때는 먼저 1-2의 첫 입력이 공개 안내 발췌인지 확인한다. 1-3과 2번 셀도 같은 기본 문장을 사용한다. 같은 발췌를 분류와 생성에 넣었으므로 바뀐 것은 문장이 아니라 모델에게 요구한 과제다. 분류에서는 라벨과 숫자 하나가, 생성에서는 원문에 없던 새 글이 나온다.

실측 기본값의 2번 셀은 첫 분류와 같은 POSITIVE 0.9911 및 앞에서 본 반복 생성문을 반환했다. 코드를 바꾸지 않은 상태로도 비교할 출력이 있는 이유다. 선택 활동을 한다면 student_text의 따옴표 안 문장 하나만 교체하며, 설치·모델 선택·생성 설정은 그대로 둔다.

기본값을 바꾸지 않아도 끝까지 실행되는 골격. 모델은 각각 불러와 실행하고 메모리를 해제하는 방식. 처음 실행 시 네트워크로 수백 MB의 파일 다운로드 필요. GPU 설정과 모델 학습 불필요.

□ 출력 읽는 법

  • status: ok: 해당 추론의 실제 결과 반환
  • label: 영화평 감정분류에서 학습한 긍정/부정 라벨
  • score: 선택한 감정 라벨에 부여한 점수. 정확도·사실성·관광지 품질과 구분
  • continuation: 입력 뒤에 새로 생성한 부분
  • status: unavailable: 설치, 다운로드, 모델 불러오기 또는 추론 실패. 모델 결과 없음

unavailable이 나와도 후속 셀을 읽을 수 있도록 구성. 하지만 모든 셀을 실행했다는 사실과 실제 모델 실험 성공은 다른 상태. 오류를 보존하고 해결 후 재실행 필요. 실패한 결과에 가상의 라벨이나 생성문을 채우지 않는 원칙.

출력의 status를 먼저 읽고 나서 내용으로 넘어가자. ok이면 모델을 불러와 그 입력의 추론 결과를 얻었다는 뜻이다. 과제가 잘 맞고 내용이 정확하다는 승인은 아니다. unavailable이면 라벨이나 생성문을 관찰하지 못했다는 뜻이므로 다음 해석을 중단해야 한다.

기본값 표와 내 결과가 다를 때는 문장이 완전히 같은지, 같은 모델 버전을 쓰는지, 셀이 위에서부터 실행됐는지부터 확인한다. 모델 계산 결과를 처음부터 틀린 답이라고 지우기보다 어떤 조건에서 나온 결과인가를 함께 보존하는 습관이 필요하다.

□ 자주 막히는 지점

증상확인할 것다음 조치
준비 셀에서 unavailable설치 오류의 마지막 줄연결 상태와 런타임 확인 후 준비부터 재실행
모델 단계에서 unavailable다운로드·파일·메모리 오류오류 보존, 원인 해결 후 해당 단계 재실행
처음 실행에 긴 대기모델 파일 다운로드 여부중복 실행하지 않고 현재 실행 대기
생성문에 무관한 내용영어 이어쓰기 모델의 학습 과제고장으로 단정하지 않고 과제 적합성 기록
중립 입력에도 긍정/부정NEUTRAL 없는 라벨 목록결과를 중립 판단으로 해석하지 않고 한계 기록

이번 주 실습을 기존 프로젝트에 바로 붙이기보다 내 프로젝트가 요구하는 출력부터 확인.

  • 공개 데이터의 출처와 사용 범위 확인
  • 현재 돌아가는 결과물 한 개 확보
  • 예상 입력 세 개와 기대 결과 기록
  • 기존 방식이 틀린 예시 한 개 확보
  • 언어와 라벨이 맞는 모델인지 확인
  • 다음 수정 한 가지 선택: 데이터 정리, 모델 선택, 규칙 보완, 사람 검토
점검 항목기록
프로젝트가 해결할 질문
공개 데이터 출처
현재 실행 가능한 결과물
실제로 틀린 입력과 결과
다음 수정 한 가지와 이유

상정 조건은 인력·장비가 적은 조직. 대형 모델을 새로 학습하는 계획보다 지금 확보한 공개 자료와 실행 결과로 확인 가능한 개선의 선택.

  • 기본: 기본값의 실제 라벨·score·생성문과 각 출력의 의미 구분
  • 심화: 같은 TODO 한 곳에서 입력만 바꾸고, 과제 적합성과 원문에 없는 주장 비교

[이론] 빈칸 예측과 이어쓰기의 문맥 범위를 대조하고, 사전학습·미세조정·추론의 차이를 입력과 출력으로 설명

  • 온라인 학습활동의 세 과제와 예상한 방식을 다시 확인
  • 빈칸을 판단할 때 참고하는 문맥과 다음 토큰을 판단할 때 참고하는 문맥을 각각 표시
  • 감정분류가 관광 주제 분류와 다른 이유를 라벨 목록으로 설명
  • 결과를 맞혔는지만 보지 않고 학습 과제와 출력의 관계를 설명했는지 확인

[구현] 제공된 노트북으로 공개 사전학습 모델을 불러와 분류·생성을 실행하고 실제 출력 읽기

  • 설치부터 1-3, 기본 입력의 2번 셀까지 순서대로 전체 실행
  • 세 문장의 실제 라벨·score와 새로 이어 쓴 부분 기록
  • 공식 발췌와 통제 예시를 구분하고, 같은 점수가 무엇을 뜻하는지 설명
  • TODO의 입력 한 곳 교체는 선택 활동. 바꾸지 않은 경우도 기본값으로 결과 비교 가능
  • 실제 모델이 실행되지 않은 경우 오류와 확인하려던 내용을 기록하고 미완료로 표시

[실무] 제공된 판단 기준표로 모델을 그대로 사용할 조건과 다시 선택할 조건을 구분. 인력과 장비가 적은 도내 조직을 상정한 중간 프로젝트 점검

  • 공개 발췌의 높은 긍정 score를 관광 안내 품질 평가로 쓰려는 제안의 문제 설명
  • 생성문에서 원문에 없던 주장을 찾고, 공식 출처를 대조할 항목 기록
  • 한국어 입력·관광 주제 라벨·최신 운영 정보 중 하나가 필요한 경우의 다음 조치 선택
  • 프로젝트의 실제 실행 결과 하나와 틀린 사례 하나를 바탕으로 다음 수정 한 가지 결정
  • 도내 기업 데이터나 실제 조직 성능이 있다는 주장 없이, 상정 조건과 확인한 증거의 분리
기록할 것실행에서 얻은 증거해석 또는 다음 조치
공개 안내 발췌의 감정분류라벨과 score중립 판단 가능 여부
wonderful / not wonderful각 라벨과 score부정 표현을 구분했는지
생성문새로 붙인 부분반복·중단·미확인 주장
프로젝트의 과제언어와 필요한 출력지금 모델이 맞는지
  • 실제 실행 출력과 확인 질문 답을 포함한 노트북 제출
  • 선택 활동을 한 경우 입력을 바꾸기 전후의 라벨·이어쓰기 비교 기록
  • 선택 활동을 하지 않은 경우 기본 입력의 실제 결과로 비교 기록
  • unavailable인 경우 오류와 미완료 단계 표시, 연결·설치 해결 후 재실행 필요
  • 제출 경로: assignments/week-10/<학번>/, 학번만 사용
  • 과제 제출 안내에 따라 Pull Request 제출
Q1. 빈칸 예측과 이어쓰기의 가장 큰 차이는?

빈칸 예측은 가려진 위치의 원래 토큰을 복원하는 과제. BERT는 이 위치의 앞뒤 문맥을 함께 활용. 자동회귀 이어쓰기는 이미 주어진 앞쪽 문맥으로 다음 토큰을 예측하고, 결과를 붙여 반복하는 과제.

Q2. 사전학습 BERT를 가져오면 관광 주제 분류가 바로 가능한가?

필요한 과제와 출력 라벨 확인이 먼저. 이번 모델은 영어 영화평의 긍정/부정에 미세조정한 모델. 관광 주제 라벨을 학습한 모델이 아니므로 감정 라벨을 관광 주제로 해석할 수 없음.

Q3. 중립 설명문을 POSITIVE로 분류하면 관광지가 좋다는 뜻인가?

아님. 모델이 선택할 수 있는 라벨은 긍정/부정 두 개뿐. 중립 설명에도 하나를 선택하며 영화평과 다른 관광 설명에서의 한계도 존재. 실제 관광지 평가로 해석 불가.

Q4. score가 높으면 정확도도 높은가?

입력 하나의 라벨 점수와 여러 정답 예시에서 측정한 정확도는 다른 값. 높은 score로 틀리는 사례도 가능. 정확도 확인에는 정답이 있는 별도 평가 자료 필요.

Q5. 자연스러운 제주 안내 생성문을 그대로 배포해도 되는가?

언어적으로 자연스러운 글과 사실에 근거한 안내는 별개. 지명, 운영시간, 가격, 교통편 등의 공식 출처 대조와 사람 검토 필요. 이번 모델의 목표는 영어 이어쓰기이며 제주 정보 검증이 아님.

Q6. 노트북이 마지막 셀까지 진행했는데 전부 unavailable이라면?

오류가 후속 실행을 막지 않았다는 확인일 뿐, 모델 추론 성공은 미확인. 실제 결과를 만들어 채우지 않고 오류를 보존. 원인을 해결한 뒤 분류와 생성 단계 재실행 필요.

Q7. 같은 원문을 넣었으니 분류와 생성도 같은 뜻의 답을 주는가?

입력이 같아도 요구한 과제가 다름. 분류기는 긍정/부정 답안지에서 라벨을 선택하고, 생성기는 입력 뒤에 새 토큰을 붙이는 방식. 공개 발췌에서 나온 높은 긍정 score와 생성문에 붙은 popular는 각각 다른 출력이며, 두 결과를 합쳐 실제 인기나 안내 품질을 확정할 수 없음.

Q8. 노트북에 11-kilometer가 있으니 코스 길이는 11km로 확정해도 되는가?

실습 입력이 상세 본문의 특정 절을 발췌했다는 확인까지만 가능. 2026-10-11 열람 페이지의 상단은 13.3km, 상세 본문은 11km로 표기가 다른 상태. 실습의 목표는 그 발췌를 분류·생성에 넣었을 때 결과를 읽는 것이며, 최신 코스 길이 확정에는 추가 공식 확인 필요.

  1. 사전학습·미세조정·추론을 입력과 목적의 차이로 구분
  2. BERT와 GPT 계열이 각각 볼 수 있는 문맥 설명
  3. 이번 분류기의 언어와 라벨 목록 확인
  4. 부정 표현을 넣은 문장의 실제 결과와 예상 대조
  5. 생성문에서 검증할 주장 또는 무관한 내용 기록
  6. 중간 프로젝트의 다음 수정 한 가지와 선택 근거 기록
  7. 실제 생성문의 반복과 끝의 It is를 각각 어떤 관찰로 기록해야 하는지 설명
  8. 노트북의 11-kilometer 입력과 최신 코스 길이 확인이 다른 이유 설명
정답 보기
  1. 사전학습은 많은 글로 언어 패턴을 먼저 익히는 과정, 미세조정은 그 능력을 특정 과제의 정답 예시로 조정하는 과정, 추론은 완성된 모델에 새 입력을 넣는 과정. 이번 노트북은 이미 학습된 파일의 추론만 실행.

  2. BERT의 빈칸 예측은 가려진 자리의 좌우 문맥을 참고. GPT 계열의 다음 토큰 예측은 이미 주어진 앞쪽과 지금까지 생성한 토큰을 참고. 다음 토큰의 아직 없는 뒤쪽은 볼 수 없음.

  3. 영어 감정분류이며 POSITIVE와 NEGATIVE 두 라벨. NEUTRAL이나 관광/교통 주제 라벨은 없음. 필요한 출력이 답안지에 없으면 점수를 재해석하는 대신 과제에 맞는 모델부터 선택.

  4. 실측 통제 예시의 wonderful은 POSITIVE 0.9999, not wonderful은 NEGATIVE 0.9998. 이 두 예시에서 부정 표현을 구분한 관찰. 두 예시의 성공을 한국어·모든 관광 문장의 성능으로 일반화하지 않음.

  5. popular라는 인기 평가에는 실습에서 확인한 근거가 없음. hikers and hikers와 문장 전체의 반복은 출력 품질 문제. 운영 정보가 등장하면 공식 출처와 대조하고, 등장하지 않으면 없는 항목을 만들어 적지 않음.

  6. 각 프로젝트의 실제 자료에 따라 다른 답 가능. 예를 들어 필요한 것이 한국어 문의의 관광/교통 분류라면 영어 긍정/부정 모델을 그대로 쓸 수 없으므로 언어와 라벨에 맞는 공개 모델 탐색이 다음 수정. 실제 시행과 개선 효과는 별도 확인.

  7. hikers 중복과 문장 세 번 반복은 실제 출력에서 관찰한 반복. 마지막 It is는 문장 중간의 중단. 최대 32개 새 토큰이라는 제한은 계산량을 줄이지만 문장 완성과 글의 품질을 보장하지 않는 조건.

  8. 실습은 상세 본문 발췌에 대한 모델 출력을 확인. 페이지 상단의 13.3km와 본문의 11km가 다른 상태이므로 발췌를 사용한 것과 최신 정보를 확정한 것은 다른 판단. 최신값은 추가 확인 전 보류.

용어한 줄 뜻
사전학습많은 글에서 언어 패턴을 먼저 익히는 과정
미세조정사전학습 모델을 특정 과제의 예시로 추가 조정하는 과정
추론완성된 모델에 새 입력을 넣어 결과를 얻는 과정
출력 헤드문맥 표현을 토큰 후보나 라벨 등 특정 출력으로 바꾸는 마지막 부분
통제 예시비교하려는 차이를 드러내도록 사람이 작성한 보조 입력
마스크 언어모델일부 토큰을 가리고 원래 토큰을 예측하는 모델
양방향판단할 위치의 앞뒤 문맥을 함께 참고하는 방식
자동회귀앞서 나온 토큰까지 참고하며 다음 토큰을 반복 예측하는 방식
라벨분류기가 고를 수 있도록 미리 정한 출력 종류
score선택한 라벨에 모델이 부여한 점수. 정확도와 구분
생성 길이 제한새로 붙일 토큰 수의 상한

주교재 Speech and Language Processing 3판의 7장 Large Language Models와 9장 Masked Language Models. 수업계획서의 10주차 지정 읽기 범위이며, 트랜스포머 내부 수식이나 미세조정 구현으로 범위를 넓히지 않는 읽기.

  • 7장: 다음 토큰을 예측하며 글을 생성하는 부분. “지금 입력에 무엇이 들어 있고, 무엇을 새로 붙이는가” 중심으로 읽기
  • 9장: 마스크 언어모델과 BERT의 양방향 문맥, 사전학습 표현을 분류에 쓰는 부분 확인
  • 수식과 학습 코드 제외. 빈칸 예측·이어쓰기·문장분류의 입력과 출력부터 비교
  • 앞뒤를 함께 읽는다고 모든 과제를 해결하는 것도, 다음 토큰을 잘 고른다고 사실을 보증하는 것도 아니라는 점을 이번 실측 결과와 연결

추가 자료는 원 논문과 실습 모델 카드. 교재의 큰 구조를 읽은 뒤, 우리가 실제로 가져온 모델의 과제와 제한을 확인하는 용도.

Open In Colab

제공된 코드를 그대로 실행해 감정분류와 이어쓰기 결과를 확인하는 실습. TODO의 입력 문장 하나 교체는 선택 활동. 모델 학습과 코드 작성 제외.