목록Deep Learning (41)
Patrick's 데이터 세상
2023년 6월부터 사내에서 비즈니스 모델로 개발한 모델입니다. MBTI 타입, 마케팅 정보 11개, 소구점을 입력으로 하여 각 정보가 반영된 광고 문구를 생성하는 T5 모델을 이용하여 광고 문구를 생성모델을 구현하는 프로젝트입니다. 예시 👉🏻 작업 환경Google Colab Pro PlusGPU typeA100-SXM4-40GBGPU count4CPU typeIntel Xeon 2.2GhzRAM13GB 👉🏻 DatasetNT, NF, ST, SF 4개 유형 각 1,584건 총 6,336건 데이터 대상으로 마케팅 관련 13개 정보를 input feature로 활용하고 구축된 광고 문구를 output feature로 활용합니다. T5는 Text-to-Text 구조로 디자인하기 위해 input에 finetu..
Transformer트랜스포머(Transformer)는 2017년 구글이 발표한 희대의 논문인 'Attention is all you need'에서 나온 모델로 후대에 BERT, GPT 계열의 모델에 막대한 영향을 끼쳤습니다. 기존의 seq2seq 인코더-디코더 구조를 따르면서 어텐션(Attention)만으로 구현한 모델입니다. 기존 seq2seq 모델은 인코더가 입력 시퀀스를 하나의 벡터로 압축하는 과정에서 정보가 일부 손실된다는 단점이 있는데 이를 보완하기 위해 등장했습니다. 👉🏻 트랜스포머 구조 트랜스포머는 RNN을 사용하지 않지만 기존의 seq2seq처럼 인코더에서 입력 시퀀스를 입력받고, 디코더에서 출력 시퀀스를 출력하는 인코더-디코더 구조를 유지합니다. 이전 seq2seq 구조에서는 인코더와 ..
Attention 입력 시퀀스를 인코더에서 하나의 고정된 Context Vector로 압축하고 이를 활용하여 디코더에서 출력 시퀀스를 만드는 seq2seq는 여러 문제점이 있습니다. ∙ 하나의 고정된 크기의 벡터에 인코더의 모든 정보를 압축하다 보니 정보 손실이 발생합니다. ∙ RNN의 고질적인 기울기 소실(Vanishing Gradient) 문제가 존재합니다. 위 문제는 입력 문장이 길면 번역 품질이 떨어지는 현상으로 나타납니다. 이를 위한 대안으로 입력 시퀀스가 길어지면 출력 시퀀스의 정확도가 떨어지는 것을 보완하기 위해 등장한 기법이 Attention입니다. Attention의 기본 아이디어는 디코더에서 출력 단어를 예측할 때, 매 시점(time step)마다, 인코더에서 전체 입력 문장을 다시 한..
seq2seq seq2seq는 두 개로 구성된 인코더, 디코더 아키텍처로 구성됩니다. 인코더는 입력 문장의 모든 단어들을 순차적으로 입력받은 뒤에 마지막에 모든 단어 정보를 압축해 하나의 벡터로 만드는데 이것을 Context Vector라고 합니다. 입력 문장의 정보가 하나의 컨텍스트 벡터로 모두 압축되면 인코더는 컨텍스트 벡터를 디코더로 전송합니다. 디코더는 컨텍스트 벡터를 받아서 번역된 단어를 한 개씩 순차적으로 출력합니다. 인코더 아키텍처와 디코더 아키텍처의 내부는 사실 두 개의 RNN 아키텍처입니다. 입력 문장을 받는 RNN 셀을 인코더라고 하고, 출력 문장을 출력하는 RNN 셀을 디코더라고 합니다. 물론, 성능 문제로 인해 실제로는 바닐라 RNN이 아니라 LSTM(장단기메모리) 셀 또는 GRU ..
huggingface의 transformer 라이브러리에서 model.generate는 모든 자동 회귀 auto-regressive 언어 모델에 적용 가능합니다. 이 generate 함수를 이용해서 문장 생성 하는데 보다 적은 노력으로 훌륭한 문장을 생성할 수 있습니다. 문장A: GPT3는 문장을 생성한다 문장을 확률로 표현하고 싶을때, 위 문장의 확률은 P(GPT3) P(문장을∣GPT3) P(생성한다∣GPT3, 문장을) 과 같이 조건부 확률의 곱입니다. auto-regressive auto-regressive은 문장의 확률값을 구하듯이 이전의 단어들로 다음 단어의 확률을 예측하면서 방식을 말합니다. 현재 transformers에서 auto-regressive 언어 생성을 사용할 수 있는 모델은 GPT ..
ChatGPT는 GPT를 개발해 온 OpenAI에서 GPT-3.5와 GPT4를 기반으로 운영하는 대화형 인공지능 서비스이다. 제공되는 API 기능을 통해 개발자들이 편리하게 ChatGPT 모델의 추론 기능을 사용할 수 있다. 현재 사내 프로젝트의 일환으로 모델 학습 데이터의 레이블 정보를 ChatGPT API를 활용하여 구축하였다. 시스템 프롬프트와 유저 프롬프트에서 Few-Shot 방식을 이용한 instruct를 구조화하고 원하는 결과를 얻기 위해 Prompt adjust를 지속적으로 시도한 내용과 Andrew Ng 교수님의 ChatGPT Prompt Engineering for Developers 강의 내용 중 일부를 정리하려고 한다. 예시는 실제 프로젝트에서 사용했던 예시와 강의 예시 모두 사용하였..