반응형

2024/03 128

자연어 이해 (NLU) TASK - 개요

목표 - 자연어 형태의 문장을 이해하는 작업인 자연어 이해 작업에 대해 이해할 수 있다. 재밌는 일이 있었고, 말하고 싶어한다. !!를 보니 엄청났나 보다 등등... syntactic = 표제적인 이해 - 문법적으로 옳은지 사람이 설계한다 -> 시간이 오래 걸리며, 모든 케이스를 포함하기 힘들다. 결국 자연어 이해도 임베딩 잘하기 인거 맞지...? BERT - 자연어 이해 작업을 해결하기 위해 나왔다. 문장간 관계를 양방향으로 확인한다. 문서를 분류, 태깅은 인코더를 사용한다. 전제와 가설을 유사도를 분석하여 판단한다. 관계 지식 그래프를 그리기 위한 필수적인 진행이다.

자연어 처리 python 실습 - 파인 튜닝 실습

파인 튜닝 실습 및 결과 분석 Introduction Chapter 6. 자연어처리를 위한 모델 학습 강의의 파인 튜닝 실습 및 결과 분석 강의입니다. 이번 실습에서는 (1) SKTBrain이 공개한 KoBERT를 네이버 영화 리뷰 감정 분석 데이터셋(nsmc)으로 파인튜닝하고, (2) 파인튜닝한 모델의 감정 분류 작업에 대한 성능과 결과를 분석해보겠습니다. !pip install git+https://git@github.com/SKTBrain/KoBERT.git@master 1. KoBERT 모델 불러오기 오늘 실습에는 SKTBrain에서 공개한 KoBERT-Transformers 모델을 사용합니다! KoBERT 모델은 SKTBrain에서 공개한 한국어 데이터로 사전학습한 BERT 모델로, google..

자연어 처리 모델 학습 - 파인 튜닝된 모델 분석 및 평가

목표 - 언어 모델을 파인튜닝할 때 발생하는 문제들을 분석하고 평가하는 방법들에 대해 이해하기 위험하고 평향된 말이 들어왔을 때 모델이 답변을 잘 선택하도록 만들어야 한다. 언더 피팅과 오버비팅 (memorized) 일반화 - 우리가 추구하는 목표, 모르는 데이터에 대해 적절한 답변을 준다. 감정 분류 - 긍, 부정, 행복, 슬픔과 같은 감정 분류 자연어 추론 - 전제문장과 가설문장이 주어졌을 때 가설문장의 참, 거짓 등을 밝힌다. 의도 분류 - 정확한 의도 파악 다양한 분류 작업에서 사용된다. label이 늘어나도 행렬이 늘어나는 것이기 때문에 사용 가능하다. 항상 예시로는 암의 관측을 정확도의 오류의 위험성을 말합니다. 실제 정답이 negative인데 ture라고 한 경우 중요한 지표이다. 리콜이 낮..

자연어 처리 모델 학습 - hyper parameter tuning 하이퍼 파라미터 튜닝

목표 - 파인 튜닝 시 모델 성능 최적화를 위한 하이퍼 파라미터 튜닝에 대해 이해할 수 있다. 1. 이전의 학습 내용을 까먹는다. 2. 데이터의 크기가 작을수록 학습이 불안정하다. 사전 학습 때 A 데이터로 학습하고 B 데이터에 대해 학습하면 전이 학습의 효과를 사용하지 못할 수 있다. 성공한 모델, 실패한 모델 모두 일어나니 전이학습의 일반적인 결과이다. A 작업을 잘 하길 원하는 것이 아니기 때문에 감수하고 진행하는 사람들도 있다. 학습을 많이 하면 분산이 줄어든다 -> 학습을 많이(오버피팅 전) 시켜야 한다. s 는 성공적으로 학습하여 파란색에 가있다. f는 학습이 하나도 되지 않았다. f는 로컬 미니멈에 있는 거나 기울기 소실 현상이 일어났다. 초반부터 learning rate를 작게 줘서 기울기..

자연어 처리 모델 학습 - 파인 튜닝 방법 1

목표 - 파인 튜닝 시 다양한 파인 튜닝 방법에 대해 이해하기 파인 튜닝으로 모델을 학습할 때 이전의 모델에 새로운 레이어를 붙여서 학습한다. 3- 컴퓨팅 연산 능력 부족, 데이터셋 부족, 데이터가 매우 유사할 때 사용 일반화된 피쳐 - 사전학습된 모델이 초반에 잘 뽑아준다. -> 바꾸지 않는다. = freezing한다. 데이터 셋이 크다 = 일반적인 패턴을 잡아 낼 수 있다. 모든 레이어를 다 활용하기에는 오버피팅을 할 가능성이 매우 크기 때문에 초반에서 일반화를 잘 했다고 기대하고 고정시킨 뒤에 부분을 학습시킨다. 모델 안에 레이어를 추가하겠다. adapter가 추가되었다. 입력으로 들어가는 프리픽스(prefix) 토큰만 학습시키는 것이다. - 작업이 바뀌면 prefix만 바꾸면 된다. 모델에 영향을..

자연어 처리 모델 학습 - 파인 튜닝(Fine tuning)이란?

목표 - 사전 학습된 모델의 가중치를 미세하게 조정하여, 특정 task를 수행하도록 학습하는 파인 튜닝의 목적과 작동 원리에 대해 이해할 수 있다. 그럼 전이 학습이랑 파인튜닝의 차이점이 뭔데...? 데이터를 만드는 일의 비용이 많이 든다. - 지도 학습의 라벨링을 하는 경우 간에 엄청난 차이가 있을 것인데, 아까 말했듯 사전 학습된 모델의 초반 레이어는 자연어에 대한 유용한 특징을 잘 추출해 낼 수 있다. 보통 사전 학습한 모델의 초반 레이어를 freezing하고 이 후 레이어를 학습시키거나 새로운 레이어를 추가하여 해당 레이어학습하는 등의 방법을 사용한다. 데이터가 충분히 크다면 프리징하지 않아도 되지만 보통 파인 튜닝을 할 경우 데이터가 그렇게 많지 않다. 2. 전설과 가설을 기호로 분류하여 입력 ..

자연어 처리 모델 학습 - 전이 학습(Transfer Learning)이란

목표 - 대량의 데이터로 사전 학습된 모델의 일반화된 지식을 활용하여 특정 자연어 처리 Task를 수행하는 방법인 전이 학습의 목적과 작동 원리에 대해 이해할 수 있다. 제일 마지막 레이어만 새로 학습한다! backbone - 뼈대가 되는 모델 => 모델이 크고 일반화 시킬 수 있어야 한다. 사전학습은 내용이 훨씬 많으며, 새로 배울 내용과 비슷한 특징을 가져야 한다.

자연어 처리 모델 학습 - Pre-training이란

목표 - 대량의 데이터로 언어 모델이 일반화된 지식을 갖도록 학습하는 사전 학습의 목적과 작동 원링 대해 이해하기 언어의 모호성과 중요성을 파라미터에 잘 적용시키는 것 미세조정 == fine tuning 각각 학습한 뒤 합쳐서 새로 사용한다. Fast txt나 Glove로 보완은 되었으나 모두 해결된 것은 아니다. 중요한 정보가 앞에 있을 경우 거의 전달되지 않는 문제 15% 정도 Mask를 사용하면 성능이 좋았다. 이렇게 하여 MASK 토큰을 원래 단어로 예측하도록 만든다. 여기선 n개를 보고 그 뒤를 예측하고, 또 n개를 보고 그 뒤를 예측하는 것의 반복이다. 모델의 강건성과 불확실성을 개선할 수 있다.

자연어 처리 python 실습 - 간단한 답변 랭킹 모델 만들기

간단한 답변 랭킹 모델 만들기 Introduction Chapter 5. 문장 임베딩 만들기 강의의 간단한 답변 랭킹 모델 만들기 실습 강의입니다. Transformers에 공유된 KoBERT-Transformers를 활용하여, 문장 수준 임베딩 간 유사도 계산을 활용하여 간단한 답변 랭킹 모델 (챗봇)을 구현합니다. 1. 한국어 일상 대화 데이터셋 수집 및 전처리 오늘 실습에서는 일상 대화 챗봇 구현에 많이 사용되는 Chatbot_data를 사용하겠습니다. 로드한 데이터셋은 이후 답변 랭킹 모델 추론에 사용됩니다. 출처: https://github.com/songys/Chatbot_data GitHub - songys/Chatbot_data: Chatbot_data_for_Korean Chatbot_d..

728x90
728x90