본문 바로가기

자연어생성

Transformer로 텍스트를 생성하는 다섯 가지 전략 Hugging face에서 정리한 자연어 생성 디코딩 전략 포스팅을 번역 & 정리한 포스트입니다 ❤️ Source - hugging face ❤️ 더 좋은 디코딩 전략으로 자연어 생성 모델의 성능 높이기 원본 포스팅: https://huggingface.co/blog/how-to-generate?fbclid=IwAR19kbEiW_sF19TeSr4BE4jQZSIqz0GzOFD2013fIGEH32DReW9pAFq6vDM 포스팅에서 소개하는 전략은 아래와 같이 표현할 수 있는 모든 auto-regressive 언어 모델에 적용 가능하다. 또한, 다섯 가지 디코딩 전략은 hugging face의 transformer 라이브러리에서 함수로 호출해 사용할 수 있다. import tensorflow as tf fro.. 더보기
[논문리뷰] 블렌더(Blender) - Facebook AI의 오픈 도메인 챗봇 BLENDER > 페이스북 AI에서 발표한 오픈 도메인 챗봇 모델 > 대화에 적절히 개입하고, 지식과 강세, 페르소나를 나타내면서 멀티턴 대화에서 일관적인 성격을 유지하는 것에 초점 > 90M, 2.7B, 9.4B 개의 파라미터를 가지는 모델을 공개함 > 사람이 평가해보았을 때, 멀티턴 대화 시스템에서 호응도(engageness)와 사람다움(humanness)에서 다른 모델을 능가 > 특히 구글의 Meena와 비교할 때 호응도 25~75% 개선, 사람다움이 35~65% 개선되었다고 봄. "오픈 도메인 챗봇을 만드는 레시피를 제공합니다" 기존의 오픈 도메인 챗봇 연구에 따르면 뉴럴넷 파라미터 수와 데이터 크기를 늘리면 성능 향상에 효과가 있었다. 본 논문에서는 단순히 모델 크기를 스케일링하는 것 이외에 아.. 더보기
[논문리뷰] CTRL - 자연어 생성을 위한 조건부 트랜스포머 언어 모델 CTRL - Conditional Transformer Language Model for Generation 논문 >> https://arxiv.org/pdf/1909.05858.pdf CTRL은 세일즈포스닷컴(Salesforce)에서 2019년에 발표한 조건부 자연어 생성 모델이다. 텍스트 생성을 명시적으로 통제하기 위해 '컨트롤 코드(control code)' 를 도입하여 이에 조건부인 언어 모델을 학습하고, 모델이 생성하는 텍스트에 대한 특성을 더 명시적으로 표현하였다. CTRL은 Transformer 기반의 모델로, 16.3억개의 파라메터를 가진다. 컨트롤 코드란? 컨트롤 코드는 도메인, 스타일, 주제, 날짜, 개체, 개체간의 관계, 태스크와 관련된 행동 등을 통제하는 prefix같은 것이다. 모.. 더보기
자연어 생성에서의 Beam Search / 파이썬으로 Beam Search 구현하기 자연어 생성 모델 자연어 생성은 단어들의 시퀀스를 아웃풋으로 예측해내는 태스크이다. 일반적으로 생성 모델은 각각의 디코딩 타임 스텝에서 전체 단어 사전에 대한 확률 분포를 예측한다. 따라서 실제로 단어를 생성해내기 위해서는 모델의 예측 확률 분포를 이용해 각 타임스탭의 단어로 변환하는 과정이 필요하다. 아래 그림은 Image Captioning 태스크에서 모델이 4개의 타임 스텝 동안 생성한 확률 분포를 나타낸 예시이다. 첫 번째에서는 V차원의 단어 사전에 대해 '고양이' 토큰의 확률 값이 가장 높은 softmax 값을 예측했고, 마지막 타임 스텝에서는 문장 종료를 나타내는 '' 토큰에 대한 값이 가장 높은 확률분포를 예측한 것을 볼 수 있다. 이제, 위와 같이 모델이 예측한 확률 분포에 대해 디코딩하기.. 더보기