호돌찌의 AI 연구소
728x90
article thumbnail
ChatGPT를 활용한 Application Framework - LangChain
AI/NLP 2023. 4. 5. 22:11

ChatGPT가 출시되고 나서 AI 산업계에서 많은 지각변동이 일어났습니다. 작년 말에 ChatGPT가 출시되고 간단하게 사용한 후기 글을 아래와 같이 썼었습니다. 2022.12.22 - [AI/NLP] - ChatGPT 사용법 A-Z, 예시, 한계점 및 시사점 ChatGPT 사용법 A-Z, 예시, 한계점 및 시사점 OpenAI에서 Text를 Input으로 하여 이미지를 생성하기 위한 모델 DALL-E(2021), DALL-E 2(2022.04) 를 출시했을 때에도 신선한 충격을 받았었지만, 또 많은 사람들을 충격받게 한 Model이 2주 전에 출시되었습니 hotorch.tistory.com 4개월 전에 관련 글을 지금 다시 보니, 정말 활용을 못하고 글만 올렸다는 느낌이 드는데요. 제가 이전에 작성했던..

article thumbnail
한국어 자연어처리(NLP) 데이터셋 모음
AI/NLP 2023. 2. 27. 00:01

AI 분야를 공부하거나 업계에서 종사한다면, 항상 문제 되는 이슈는 데이터 셋입니다. 요리를 만들어서 내놓으라고 하지만, 요리사 입장에서는 재료부터 없다면 머리가 뜨끈해지기 때문입니다. 이번 글은 제가 알고 있는 오픈된 자연어처리(Natural Language Processing) 한국어 데이터만을 다루고자 합니다. 현업에서도 어떤 모델이나 실험 설계 시, 간단하게 테스트를 해보거나 벤치마크 용으로 많이 활용하는 것이 오픈된 데이터입니다. 그럼 시작해 보겠습니다. Hugging Face 첫번째로는 허깅페이스(Hugging Face) 입니다. Transformers 라이브러리와 User가 Pre-trained 모델 및 데이터셋을 공유할 수 있는 자연어처리 플랫폼으로 가장 유명합니다. 우측 상단 데이터셋 탭..

article thumbnail
ChatGPT 사용법 A-Z, 예시, 한계점 및 시사점
AI/NLP 2022. 12. 22. 21:25

OpenAI에서 Text를 Input으로 하여 이미지를 생성하기 위한 모델 DALL-E(2021), DALL-E 2(2022.04) 를 출시했을 때에도 신선한 충격을 받았었지만, 또 많은 사람들을 충격받게 한 Model이 2주 전에 출시되었습니다. 뜨거운 감자인 Topic이고 출시하고 1주일 만에 100만 명이 가입을 한 ChatGPT입니다. 어원은 우리가 익히 아는 ChatBot과 언어 생성 모델의 대표 모델인 GPT를 결합한 대화형(+그 이상) 언어모델 ChatGPT입니다. 옛날에는 궁금한 것을 네이버 지식인에 물어본 시절이 있었고 지금까지는 구글을 이용하여 우리가 모르는 정보를 알아내서 문제를 해결을 했었습니다. ChatGPT는 모르는 정보나 궁금한 내용에 대한 질의를 달면 실시간으로 답변이 달리는..

article thumbnail
Dependency Parsing (1)
AI/NLP 2022. 4. 17. 18:52

NLP에서 분류와 생성, 키워드 추출, NER, MRC 등 다양한 Task들이 존재합니다. 하지만 이번에 또 다른 영역인 "Parsing"이라는 영역을 공부하게 되었고 그중 단어 간 관계를 파악하는 것이 목적인 "Dependency Parsing"에 대해 공부한 것을 정리하고자 합니다. 우선적으로 컴퓨터과학에서 "Parsing"의 정의를 점검하자면, 각 문장의 문법적인 구성 또는 구문을 분석하는 과정"이라고 표현합니다. 일련의 문자열을 의미있는 Token으로 분해하고 이들로 이루어진 Parse Tree를 만드는 과정을 뜻합니다. parse tree의 예는 아래와 같습니다. 위와 같은 구문분석 트리를 구성하는 것이 "Parsing" 이라고 부릅니다. Tokenizing은 의미를 잘게 쪼개어주고, Pos-T..

article thumbnail
오프라인(인터넷이 안되는)환경에서 Pre-trained Language Model 모델 부르기 with PORORO
AI/NLP 2022. 4. 2. 12:15

NLP을 활용한다고 하면 Pre-trained Language Model(PLM)은 필수인 시대인데, 온라인 환경에서는 그냥 README.md나 튜토리얼 코드를 그냥 그대로 따라 하면 쉽게 실습을 할 수 있습니다. 하지만 오프라인 환경에서는 이를 수행할 수 없습니다. 그 이유는 PLM model들이 huggingface hub(공식 doc)에서 모델을 다운받아 활용하기 때문입니다. 외부 온라인 환경에서 다운로드하여 오프라인 환경에 맞게 실행이 되는 경로에 배치를 해야 합니다. 이번 글에서는 카카오브레인에서 옛날에 개발한 NLP 관련 플랫폼 패키지인 PORORO를 예시로 두고 활용하고자 합니다. (PORORO 관련 Reference는 아래에 기술하였으니 참고하시면 됩니다.) 1. 온라인 환경에서 우선 Te..

article thumbnail
Pretrained Language Model - 14. BART
AI/NLP 2021. 11. 11. 22:02

이전 글 까지 2가지 종류의 언어 모델을 언급했었습니다. 전통적인 방식의 언어 모델인 이전 단어들을 통해 다음 단어를 예측하는 Auto-regressive Model과 앞과 뒤 단어들을 통해 Masked 된 빈칸을 예측하는 MLM 방식의 Autoencoding Model이었습니다. 이 Model들은 Transformer의 Decoder만을 활용하거나, Encoder만을 활용하는 것이었습니다. 이번 글은 Encoder와 Decoder를 모두 활용하면서 NLG와 NLU Task를 전부 가능케 하는 PLM인 BART(Bidirectional and Auto-Regressive Transformers, 2018)를 소개하고자 합니다. 1. Pretrain - Encoder, Decoder 모두 사용하여 사전학습..

article thumbnail
Pretrained Language Model - 13. RoBERTa
AI/NLP 2021. 11. 5. 19:00

BERT를 Robust 하게 최적화하는 방법에 대해서 논의해보려고 합니다. 정말 사랑받는 모델인 BERT이지만, 학습하는데 많은 시간과 돈이 들었는데, 정말 hyperparameter가 잘 최적화가 되었는가에 대한 의문으로부터 출발합니다. 1. RoBERTa vs BERT - BERT보다 10배 이상 더 많은 데이터를 더 오래오래 학습시켰습니다. - 안그래도 말 많은 NSP task, 불필요하다고 판단하여 제거를 하였습니다. - 모든 샘플들에 대해 Max sequence length를 512로 맞춰서 구성하였습니다. 길게 길게 입력을 주었습니다. - 기존 BERT에서는 Pretrain 데이터에 대해서 masking을 정적으로 해놓고 들어가는데(한번 빈칸 뚫고 그냥 쭈욱 진행했다는 점), RoBERTa는 ..

article thumbnail
Pretrained Language Model - 12. BERT
AI/NLP 2021. 11. 2. 20:43

PLM계열의 Auto-Encoder 계열, 가장 많이 쓰이고 활용되고 있는 BERT 차례입니다. 이전에 글 쓴 GPT 계열은 단방향(Uni-directional) 언어 모델이기 때문에, 문장 앞까지만 보고 추측하는 것이기 때문에 문장 전체에 대한 이해가 부족합니다. 마치 한국어는 끝까지 들어봐야 한다라는 말이 있듯이 BERT 계열은 Bi-directional 언어 모델이기 때문에 Fine-Tuning 단계에서 꽤 많은 성능을 올릴 수 있습니다. 0. BERT와 이전 모델의 차이점 - BERT : Performance가 검증된 트랜스포머 블록을 사용 + 모델의 속성이 양방향을 지향하는 점에 있습니다. - GPT는 왼쪽에서 오른쪽으로 한 방향(uni-direction)으로만 보는 아키텍처(언어모델) 입니다...

article thumbnail
Pretrained Language Model - 11. GPT
AI/NLP 2021. 10. 31. 17:29

이전 시간에는 Language Model과 Tokenization(BPE Algorithm)에 대해서 다루었습니다. 본격적으로 PLM을 하나씩 언급해볼 예정입니다. 먼저 PLM의 유형들이 어떤 것이 있는지 알아보면 다음과 같습니다. 1. PLM의 유형 - Autoregressive models : Open AI의 GPT와 같이 NLG Task에 강점이 있는 모델을 뜻하며, Transformer의 Decoder만을 이용해 LM을 구성합니다. - Autoencoder models : 가장 많이 활용되며, 구글의 BERT와 같이 NLU Task(CLS, NER 등)에 강점이 있는 모델이며, Transformer의 Encoder를 통해 LM을 구성합니다. Bi-directional LM이 구현 가능하며 MLM,..

article thumbnail
Pretrained Language Model - 10. Tokenization
AI/NLP 2021. 10. 31. 15:41

NLP에서 데이터를 모델에 바로 집어넣는 것이 아닌 tokenization을 반드시 거쳐주어야 합니다. 문장 속 단어들은 여러 단어가 결합되어 나타나기 때문에, 반드시 이 것을 나누어서 컴퓨터가 더 이해하기 쉽게 작업을 거쳐주어야 합니다. 기호(괄호, 따옴표, 마침표 등)을 나누는 것은 기본이고 NLP에서 난이도가 최상위권인 한국어 같은 경우에는, Mecab과 같은 형태소 분석기를 활용하여 어미와 접사를 분리를 해주는 것이 일반적인 것으로 알려져 있습니다. 왜 이 작업이 필수인 이유는 가장 NLP 하면서 스트레스를 많이 받게 되는 OoV(Out of Vocabulary) 문제이기 때문입니다. 1. OoV(Out of Vocabulary) - 여러 단어가 결합되어 있을 때, 이를 나누지 않으면 Corpus..