목록Deep Learning (36)
Patrick's 데이터 세상
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d70nTj/btsoxXTwLRD/dc7Bprior8J4Bc6tec6a60/img.png)
seq2seq seq2seq는 두 개로 구성된 인코더, 디코더 아키텍처로 구성됩니다. 인코더는 입력 문장의 모든 단어들을 순차적으로 입력받은 뒤에 마지막에 모든 단어 정보를 압축해 하나의 벡터로 만드는데 이것을 Context Vector라고 합니다. 입력 문장의 정보가 하나의 컨텍스트 벡터로 모두 압축되면 인코더는 컨텍스트 벡터를 디코더로 전송합니다. 디코더는 컨텍스트 벡터를 받아서 번역된 단어를 한 개씩 순차적으로 출력합니다. 인코더 아키텍처와 디코더 아키텍처의 내부는 사실 두 개의 RNN 아키텍처입니다. 입력 문장을 받는 RNN 셀을 인코더라고 하고, 출력 문장을 출력하는 RNN 셀을 디코더라고 합니다. 물론, 성능 문제로 인해 실제로는 바닐라 RNN이 아니라 LSTM(장단기메모리) 셀 또는 GRU ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/djSHGz/btsoo7WNIwl/W94wnCUGowDA8NqIRVlhLk/img.png)
huggingface의 transformer 라이브러리에서 model.generate는 모든 자동 회귀 auto-regressive 언어 모델에 적용 가능합니다.이 generate 함수를 이용해서 문장 생성 하는데 보다 적은 노력으로 훌륭한 문장을 생성할 수 있습니다. 문장A: GPT3는 문장을 생성한다문장을 확률로 표현하고 싶을때, 위 문장의 확률은 P(GPT3) P(문장을∣GPT3) P(생성한다∣GPT3, 문장을) 과 같이 조건부 확률의 곱입니다. auto-regressiveauto-regressive은 문장의 확률값을 구하듯이 이전의 단어들로 다음 단어의 확률을 예측하면서 방식을 말합니다.현재 transformers에서 auto-regressive 언어 생성을 사용할 수 있는 모델은 GPT 계열 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Zx2AU/btsk0DKGVCc/333OqKPn1eHRaKaMwtFUbk/img.webp)
ChatGPT는 GPT를 개발해 온 OpenAI에서 GPT-3.5와 GPT4를 기반으로 운영하는 대화형 인공지능 서비스이다.제공되는 API 기능을 통해 개발자들이 편리하게 ChatGPT 모델의 추론 기능을 사용할 수 있다.현재 사내 프로젝트의 일환으로 모델 학습 데이터의 레이블 정보를 ChatGPT API를 활용하여 구축하였다.시스템 프롬프트와 유저 프롬프트에서 Few-Shot 방식을 이용한 instruct를 구조화하고 원하는 결과를 얻기 위해 Prompt adjust를 지속적으로 시도한 내용과 Andrew Ng 교수님의 ChatGPT Prompt Engineering for Developers 강의 내용 중 일부를 정리하려고 한다.예시는 실제 프로젝트에서 사용했던 예시와 강의 예시 모두 사용하였다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DCHdW/btsf2VQo4O2/tZ0LcAWSjIquU8mcwm5nx0/img.png)
2022년에 사내에서 국내 유통대기업과의 공동 연구로 진행했던 프로젝트입니다.해당 프로젝트에 대해 공동 연구를 진행하고 나서 보유하고 있는 데이터와 논문을 활용하여 모델을 다시 재구현하는 것이 목적이었습니다.MBTI를 ST, NT, SF, NF 총 4개로 분류하여 성격 유형으로 나누고 각각의 문체를 특성으로 하여 시즌 정보와 MBTI 성격 유형을 입력하면 앱푸쉬 광고 문자를 생성하는 모델을 만드는 태스크입니다.예시원문시즌 정보성향모델 생성 광고 문구10월이니까 1OOO포인트♬브랜드별 할인 받고 1천P 적립까지 더! 알뜰하게 가을 옷 준비하려면 터치▶가을맞이SF10월 OOOOO 포인트 혜택 도착♥브랜드별 할인에 1천P 적립까지 다 받아 알뜰하게 쇼핑하자! 👉🏻 참고https://textnet.kr/p..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhmiCb/btseBK9FIjp/8uK4KRiajYMMGmjBOg6AmK/img.png)
LangChain은 LLM에서 구동되는 APP을 개발하기 위한 프레임워크입니다.LangChain에서 제공되는 라이브러리를 활용하여 쉽게 LLM 기술들을 활용할 수 있습니다.현재는 Javascript, Python으로 구분해서 관리되고 있고 Python으로 설명드리겠습니다. LangChain은 크게 두 가지 원칙에 기반하여 작성되었습니다.Be data-aware : 언어 모델을 다른 데이터 원본에 연결합니다.Be agentic : 언어 모델이 해당 환경과 상호 작용할 수 있도록 허용합니다.예제를 통해 사용법에 대해 알아보겠습니다. 0. 패키지 설치!pip install openai!pip install langchainllm 모델 openai, langchain 관련!pip install google-..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qIhGv/btr1lwcmVnd/ujIDFAkkfqpKBBCAJsYOG0/img.png)
이번 포스팅에서는 회사 업무에서 사용했던 형태소 분석기의 간략한 설명과 code 예시를 정리해보려고 한다. 형태소 분석기는 Pororo, Okt(Open Korean Text), Mecab, Soynlp LTokenizer 등을 사용하였다. 구축 환경 : Google Colaboratory Pro Plus 👉🏻 Pororo 뽀로로는 카카오 브레인(Kakao Brain)에서 개발한 자연어 처리 라이브러리이다. 자연어 처리와 음성 관련 태스크를 수행하기 위한 목적으로 만들어졌다. 뽀로로는 설치가 좀 까다롭다. model을 load 하는 방식이다 보니 cuda를 사용하는 부분이 있는데 server에서 따로 container 가상화를 구축하고 있지 않은 경우에서는 충돌이 일어나기 때문에 내 정신 건강을 위해 코..