목록Deep Learning (36)
Patrick's 데이터 세상
🙋🏻 1월 13일 출간된 제 책을 소개해 드리려고 합니다.주제는 자연어 처리(NLP)를 위한 허깅페이스(Huggingface) 가이드입니다. 실습 코드와 결과물 위주로 언어 모델과 트랜스포머를 이해할 수 있도록 허깅페이스 기능을 담았습니다.Colab 환경 구축, Datasets, Tokenizer, Datacollator, Model, Trainer - Finetuning, PEFT, Quantization, TRL 관련 내용을 제공합니다.👉🏻 이런 분께 추천합니다. 딥러닝 기반 자연어 처리 입문서인공지능 관련 학과 대학생, 딥러닝 기초 지식 보유자실전 프로젝트를 맛볼 수 있는 도서허깅페이스를 깊게 활용해보고 싶은 분업무에 바로 적용할 수 있는 실용서현업 NLP 엔지니어, 다양한 코드로 기술을 레..
올 한 해를 돌아보면 굉장히 많은 일들이 있었던 한 해였습니다.직원용 HR 챗봇 및 AICC 콜봇 리드 개발 및 런칭을 하였고 허깅페이스 관련 서적 집필을 준비하였습니다.또, 개인적으로는 결혼이라는 인생에서 가장 큰 일을 치르기도 했습니다. 한 해 동안 준비하며 이뤄낸 것이 있어 그로 인해 다음 스텝을 준비할 수 있는 것 같습니다.이러한 경험을 돌아보며 배운 점을 정리해 보고자 합니다. 1. 도서 집필 "자연어 처리를 위한 허깅페이스 트랜스포머 하드 트레이닝" 1) 개요허깅페이스를 활용하여 코드와 결과물로 자연어 처리 작업 전반의 기능을 소개하는 도서입니다.코랩 활용법과 허깅페이스 코드를 활용하여 모델 미세조정, 저장, 평가, 추론, 경량화, 강화학습에 대해 소개합니다. 집필 동기: 블로그에 정리된 허..
OpenAI에서 제공하는 Assistants는 기존 단일 API인 Chat Completions를 개선시킨 것으로 보조자로써 하나의 보조자 챗봇과 같은 형태를 구성하여 굉장히 간편하게 활용할 수 있습니다. Assistants는 코드 인터프리터, 파일 검색, 함수 호출과 같은 유형의 도구를 지원하여 Python으로 만든 함수를 실행하거나 파일을 등록하여 해당 내용을 기반으로 답변하게 하는 등 굉장히 강력한 도구입니다. 구조 Assistant : OpenAI의 모델 특수 목적 개인화 챗봇. Thread : 어시스턴트에 스레드를 구축하여 모델과 사용자 간의 대화가 가능한 세션을 구축. 메시지를 저장하고 모델의 컨텍스트에 맞게 콘텐츠를 잘라서 자동으로 처리함. Message : 어시스턴트 또는 사용자가 만든 메..
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에 fi..
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)마다, 인코더에서 전체 입력 문장을 다시 한..