[kakao x goorm] 생성 AI 응용 서비스 개발자 양성 과정/회고록 58

[kakao x goorm] Hugging Face Transformers

오늘은 자연어처리(NLP)와 대형 언어 모델(LLM)의 핵심 라이브러리인 Hugging Face의 Transformers를 학습했다.이 수업은 단순한 라이브러리 소개를 넘어서, NLP와 LLM의 개념적 차이, Transformer 아키텍처의 구성 방식, 다양한 모델 활용법, 그리고 pipeline 함수를 통한 실제 코드 실습까지 포괄적으로 다루었다.단순히 모델을 불러오고 실행하는 법을 배우는 것이 아니라, 그 모델이 어떤 구조로 작동하고, 어떤 목적에 맞게 설계되었는지 이해하는 것이 중요했다.1. Hugging Face Transformers 코스 개요이번 강의는 Hugging Face 생태계를 구성하는 네 가지 핵심 라이브러리를 중심으로 구성되어 있었다.Transformers: 사전 학습된 언어 모델을..

[kakao x goorm] Masked Language Model과 BERT의 등장

오늘은 NLP 역사에서 가장 중요한 전환점 중 하나인 BERT(Bidirectional Encoder Representations from Transformers)와 그 핵심 학습 방식인 Masked Language Model(MLM)에 대해 학습했다.단순히 새로운 모델 하나가 등장한 것이 아니라, 이 구조를 통해 NLP는 '언어 생성'에서 '언어 이해'로의 진입로를 확보했고, 이후 모든 태스크의 성능 기준이 완전히 재정립되었다.1. Masked Language Model: 언어의 빈칸을 예측하다배경: 기존 언어 모델의 한계전통적인 언어 모델(GPT-1 포함)은 주어진 시점까지의 문맥을 바탕으로 다음 단어를 예측하는 구조였다. 이를 Causal Language Modeling (CLM)이라 부른다.예를 ..

[kakao x goorm] 사전학습의 개념과 NLP 모델의 전환

자연어처리(NLP) 분야는 지난 수년간 극적인 전환을 겪어왔다. 그 중심에는 두 가지 개념이 있었다. 하나는 사전학습(Pre-training)이라는 새로운 학습 패러다임이고, 다른 하나는 문맥 임베딩(Contextual Representation)이라는 표현 방식의 혁신이다.오늘은 이 두 가지가 NLP 기술을 어떻게 근본적으로 바꾸었는지를 중심으로 정리해보았다. 과거 단어 단위의 벡터 표현과 작업별 개별 모델 학습 방식이 지배적이었던 시절에서, 지금은 대규모 언어 모델을 기반으로 다양한 태스크를 유연하게 해결할 수 있는 시대가 되었다.1. Pre-training in NLP: 사전학습의 등장 배경기존 방식의 한계: 태스크별 모델 학습자연어처리의 초기 발전은 주로 task-specific learning을..

[kakao x goorm] Transformer와 문맥 기반 임베딩의 시작

오늘은 자연어처리(NLP)의 흐름을 완전히 바꾼 두 가지 키워드, Transformer와 ELMo에 대해 학습했다. 이 두 모델은 단순히 정확도를 높이는 기술적 개선을 넘어서, 자연어를 이해하는 방식 자체에 근본적인 전환을 가져왔다. Transformer는 문장을 '관계 기반'으로 해석하게 만들었고, ELMo는 단어를 '문맥에 따라 의미가 달라질 수 있는 존재'로 새롭게 정의했다. Transformer: Attention은 모든 것이다딥러닝 기반 NLP 초창기에는 RNN, GRU, LSTM과 같은 순환 신경망 계열이 주로 사용되었다. 이들은 입력 문장을 앞에서부터 순차적으로 처리하며 과거 정보를 다음 단어에 반영하는 방식으로 작동했다. 그러나 이 방식은 분명한 한계가 있었다.기존 순환 신경망의 한계병렬 ..

[kakao x goorm] 어텐션 매커니즘

자연어처리(NLP)의 중심축이 단순한 규칙 기반 처리에서 인공신경망 기반 딥러닝 모델로 옮겨오면서, 가장 큰 전환점 중 하나는 어텐션(Attention) 메커니즘의 등장이었다. 특히 이 개념은 입력 시퀀스 전체를 하나의 고정된 표현으로 요약하던 기존 방식의 한계를 극복하게 만들었으며, 이후 Transformer 구조의 핵심 구성 요소로 자리 잡게 되었다.기존 시퀀스-투-시퀀스 구조의 한계시퀀스-투-시퀀스(Seq2Seq) 구조는 입력 시퀀스를 인코더를 통해 하나의 고정 벡터로 압축한 다음, 이를 디코더가 받아서 출력 시퀀스를 생성하는 방식이다. 초기에는 이 구조만으로도 기계 번역이나 텍스트 생성에서 상당히 좋은 성과를 보였지만, 치명적인 단점을 안고 있었다. 그 중 가장 중요한 문제는 정보 손실이다.입력 ..

[kakao x goorm] Beam Search, Subword Tokenization, BLEU Score까지

오늘은 기계 번역 시스템을 구성하는 핵심 기술 요소들에 대해 전반적으로 학습한 하루였다. 문장을 생성하는 디코더의 동작 방식부터 시작해, 단어의 표현을 어떻게 다루어야 효율적인지를 고민하는 토크나이징 방식, 그리고 생성된 문장의 품질을 객관적으로 평가하는 BLEU Score까지, 번역 모델이 실제로 동작하는 전 과정을 구성하는 이론들을 차근히 짚었다.디코딩 전략의 딜레마: 단어 하나가 전부를 망칠 수 있다기계 번역에서 가장 핵심적인 모델 중 하나는 Seq2Seq 구조이다. 이 구조에서 디코더는 인코더가 생성한 문맥 정보를 바탕으로 하나의 문장을 생성해 나간다. 그런데 이 디코더는 단어를 한꺼번에 출력하지 않는다. 매 시점(step)마다 한 단어씩 예측하며 문장을 완성해 간다. 따라서 매 시점의 선택은 다..

[kakao x goorm] 언어 모델의 흐름과 문맥 임베딩의 진화, ELMo까지

자연어처리(NLP)에서는 문장을 이해하기 위해 각 단어가 어떤 의미를 가지는지를 컴퓨터가 ‘표현’할 수 있어야 한다. 이 표현(representation)을 만드는 방식은 오랜 시간 다양한 모델을 통해 진화해 왔고, 오늘은 그 흐름의 핵심 구간—NNLM에서 시작해 BiLSTM, CNN 기반 분류기를 거쳐, 문맥 기반 임베딩인 ELMo까지—를 학습했다.정적인 단어 임베딩의 한계를 넘어, 문맥(Context)을 반영한 임베딩의 필요성이 어떻게 부각되었는지, 그리고 그것이 ELMo라는 혁신적 접근으로 어떻게 구체화되었는지를 중심으로 정리해본다.NNLM (Neural Network Language Model): 언어 모델의 신경망 기반 첫걸음NNLM은 단어를 숫자로 처리하되, 확률적으로 다음 단어를 예측하는 모..

[kakao x goorm] RNN, LSTM, GRU의 구조와 차이

오늘은 자연어 처리에서 시퀀스 데이터를 다루는 핵심 기술인 RNN 계열 모델들에 대해 학습했다.RNN의 기본 구조부터 LSTM, GRU, 그리고 양방향 RNN까지 차근차근 정리해보았다.RNN(Recurrent Neural Network) 이해하기RNN은 연속적인 시퀀스를 처리하는 데 적합한 신경망 구조로, 이전 입력 정보를 내부적으로 기억해 다음 결과에 반영하는 특징을 가진다.입력의 길이만큼 동일한 구조가 시간축으로 펼쳐지는(unrolled) 형태로 구성되며, 이때의 각 시점을 time step이라 부른다.RNN의 응용 유형유형 설명 예시One to Many입력 1개 → 출력 여러 개이미지 캡셔닝Many to One여러 입력 → 출력 1개감성 분석, 문서 분류Many to Many여러 입력 → 여러 출력..

[kakao x goorm] 텍스트 정제와 단어 임베딩, BoW부터 Word2Vec까지

자연어처리(NLP)에서 문장을 형태소 단위로 나누는 것만으로는 충분하지 않다. 텍스트는 기계가 이해하기 어려운 특성과 노이즈를 가진 데이터다. 따라서 형태소 분석 이후에는 불필요한 정보를 제거하고 의미 있는 정보만을 남기는 정제 작업, 그리고 이를 수치화하는 임베딩 작업이 뒤따라야 한다.이번 포스팅에서는 BoW 방식부터 Word2Vec까지, 자연어를 모델에 입력하기 위한 대표적인 변환 기법을 정리했다.텍스트 정제(Cleaning)의 역할형태소 분석을 마친 문장도 여전히 기계가 처리하기엔 복잡하거나 불필요한 정보를 포함하고 있다. 그래서 정제는 단순히 앞단 작업이 아닌, 토큰화 이후에도 계속적으로 반복 수행되어야 하는 과정이다.이 정제 작업에는 특별한 정답이 없다. 문맥과 목적에 따라 “이 정도면 충분하다..

[kakao x goorm] 형태소 분석과 토큰화, 그리고 텍스트 전처리

자연어 처리(NLP)를 시작할 때 가장 먼저 마주하게 되는 것은 텍스트 데이터를 어떻게 분석 가능한 형태로 바꿀 것인가 하는 문제다. 우리가 말하고 쓰는 자연어는 너무나 유연하고 복잡하다. 사람에게는 직관적으로 쉽게 이해되는 한 문장도 컴퓨터에게는 단순한 문자들의 나열일 뿐이다.예를 들어 "영화 정말 재밌었어"라는 문장을 컴퓨터가 읽고 감정을 이해하게 하려면, 단순한 문자열이 아니라 구성 요소별로 쪼개고 구조를 파악하는 과정이 필요하다. 이때 핵심이 되는 것이 바로 형태소 분석(Morpheme Analysis)이다.형태소 분석은 단순히 문장을 자르는 것을 넘어, 언어적 의미 단위를 식별하여 기계가 처리할 수 있는 수준으로 변환하는 작업이다.오늘은 형태소 분석의 정의, 그 필요성, 한국어와 영어의 차이, ..