목록전체 글 (171)
Patrick's 데이터 세상
OpenAI에서 제공하는 Assistants는 기존 단일 API인 Chat Completions를 개선시킨 것으로 보조자로써 하나의 보조자 챗봇과 같은 형태를 구성하여 굉장히 간편하게 활용할 수 있습니다. Assistants는 코드 인터프리터, 파일 검색, 함수 호출과 같은 유형의 도구를 지원하여 Python으로 만든 함수를 실행하거나 파일을 등록하여 해당 내용을 기반으로 답변하게 하는 등 굉장히 강력한 도구입니다. 구조 Assistant : OpenAI의 모델 특수 목적 개인화 챗봇. Thread : 어시스턴트에 스레드를 구축하여 모델과 사용자 간의 대화가 가능한 세션을 구축. 메시지를 저장하고 모델의 컨텍스트에 맞게 콘텐츠를 잘라서 자동으로 처리함. Message : 어시스턴트 또는 사용자가 만든 메..
패스트캠퍼스에서 진행하는 2024 GENCON 컨퍼런스에 참여하여 음성, 영상, 자연어처리 AI의 정보와 진보된 발전에 대해 유익한 정보를 들을 수 있었습니다. GENCON SUPER HUMAN POWERED BY AI, 2024 GENCON은 2024년 1월 26일 금요일 10:00~17:00 강남 ST Center에서 진행하였고 굉장히 많은 인파가 컨퍼런스에 참여하기 위해 모였습니다. 생성형 AI를 활용하여 창작물에 적용하는 CREATIVE & CONTENTS TRACK1 과정과 생성형 AI를 서비스에 적용하는 SOFTWARE & AI SERVICE TRACK2 과정이 하루에 걸쳐 동시에 진행되었고 원하는 과정에 참여하여 듣는 방식이었습니다. AI의 인기를 실감케 하는 많은 인파가 컨퍼런스 현장에 몰..
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)마다, 인코더에서 전체 입력 문장을 다시 한..
seq2seq seq2seq는 두 개로 구성된 인코더, 디코더 아키텍처로 구성됩니다. 인코더는 입력 문장의 모든 단어들을 순차적으로 입력받은 뒤에 마지막에 모든 단어 정보를 압축해 하나의 벡터로 만드는데 이것을 Context Vector라고 합니다. 입력 문장의 정보가 하나의 컨텍스트 벡터로 모두 압축되면 인코더는 컨텍스트 벡터를 디코더로 전송합니다. 디코더는 컨텍스트 벡터를 받아서 번역된 단어를 한 개씩 순차적으로 출력합니다. 인코더 아키텍처와 디코더 아키텍처의 내부는 사실 두 개의 RNN 아키텍처입니다. 입력 문장을 받는 RNN 셀을 인코더라고 하고, 출력 문장을 출력하는 RNN 셀을 디코더라고 합니다. 물론, 성능 문제로 인해 실제로는 바닐라 RNN이 아니라 LSTM(장단기메모리) 셀 또는 GRU ..