Gen AI가 무엇이고 어떤 종류가 있는지 배웠습니다. 또한 캐글에 있는 데이터를 가지고 Gen AI중 하나인 ChatGPT를 통해 데이터를 분석하는 실습을 했습니다.
Decision Science: 데이터 분석가가 속한 팀
Product Science: 데이터 과학자가 속한 팀
Data Infra(platform): 데이터 엔지니어가 속한 팀
ELT: ETL로 데이터 엔지니어들이 데이터 시스템으로 가져온 데이터들을 조인해서 지표를 정의하거나 데이터 분석을 하기 쉬운 형태로 데이터를 요약하거나 정리해주는 것
이벤트 로그 수집은 데이터 엔지니어나 백엔드 엔지니어가 하는 일이다.
스태프 미팅은 시니어들이 모여 팀의 방향이나 지표를 논의하는 자리이다.
플래닝 미팅: 스프린트가 시작할 때 팀이 모여 어떤 업무를 할 것인지 결정하는 미팅
스탠드업 미팅: 매일 팀이 모여 짧게 돌아가면서 지난 하루동안 어떤 일을 했고 앞으로 무슨 일을 할 것이며 어떤 이슈가 있는지 짧게 논의하는 미팅
회고 미팅: 스프린트가 끝날 때 지난 스프린트를 돌이켜보는 미팅 (잘됐던 것이나 아쉬웠던 것이나 기타 논의할 내용을 이야기한다.)
허영지표: 의미없는 지표 (예: 등록회원수)
인공지능, 머신러닝, 딥러닝
머신러닝이 아닌 인공지능이란 수단과 방법을 가리지않고 인간이 하는 일을 대신해주는 시스템
인공 신경망이 발생하기 전까지는 복잡한 데이터(선형 회귀, 의사결정트리)를 잘 처리하지 못했다.
Gen AI는 딥러닝의 일부이다.
Gen AI란?
Gen AI는 딥러닝이다. 언어처럼 다양한 문장들로부터 패턴을 배워 새로운 문장을 만들어낸다. 학습 대상이 이미지, 오디오, 텍스트일 수도 있다. 이러한 컨텐츠를 통해 새로운 컨텐츠를 만든다.
딥러닝과 Gen AI와 LLM의 관계
딥러닝은 인풋이 들어가면 히든레이어에서 데이터를 처리해 최종적으로 예측해서 아웃풋 레이어로 출력된다.
딥러닝 또한 다른 머신 러닝 알고리즘과 마찬가지로 학습하는 시간을 갖게 된다. 이를 통해 히든 레이어의 가중치가 정해지고 이는 굉장히 큰 행렬연산이다.
예측값이 다르게 나오게될 경우 가중치를 조절한다. Supervised ML을 많이 사용한다.
딥러닝 중에 뜨고 있는 큰 줄기가 Gen AI이고 Gen AI 기술을 언어 처리에 적용한 것이 LLM이다.
딥러닝의 모델 타입
Discriminative: Gen AI가 나오기 전에 있던 모델 타입, 정답이 있는 훈련 데이터를 통해 학습한다. (사진을 주면 개인지 고양이인지 판단한다.)
Generative: 분류나 예측을 하는 것이 아니라 주어진 데이터의 패턴을 학습하는 것이다. (개나 고양이의 이미지를 통해 공동적인 특징을 학습해 새로운 개나 고양이의 이미지를 만들어낸다.)
Gen AI 모델과 일반 ML 모델의 동작방식
Gen AI도 ML의 일부이기 때문에 동작방식은 기본적으론 동일하다. 달라지는 것은 출력이다.
Gen AI의 파운데이션 모델(1)
파운데이션 모델: 누군가 시간과 노력과 경험을 사용해 광범위한 데이터셋을 바탕으로 학습을 시킨 모델
자연어 처리를 해주는 모델이라면 위키피디아나 뉴스 데이터를 통해 언어들의 패턴을 미리 학습한다. (Pre-trained)
트랜스포머를 많이 사용해서 모델이 가지고있는 파워를 확장하는 방식이다. 트랜스포머가 늘어날수록 학습하는데 시간이 오래걸리고 비용이 비싸진다.
Gen AI의 파운데이션 모델(2)
특징: 일반적인 모델이라 특정 주제에 대해서 강한 것은 아니지만 다양한 주제에 대해 적용할 수 있다.
언어쪽의 파운데이션 모델은 별도의 훈련없이 이 모델을 통해 왠만한 일들을 어느정도 할 수 있다.(번역같은 일)
Gen AI의 파운데이션 모델과 파인 튜닝
파인튜닝: 딥러닝으로 만든 모델을 커스터마이즈해 내가 원하는 방향으로 동작하도록 하는 것
Supervised fine-tuning: 파운데이션 모델 위에 내 데이터를 통해 가중치를 높여 재훈련을 시킨다.
GPT와 같은 Pretrain 된 LLM에 어떻게 대화해야하는지 다양한 대화 예제를 만들어 Fine-tune한 것이 ChatGPT이다. 즉 ChatGPT는 GPT라는 LLM위에 만들어진 Fine-Tune된 모델이다.
LLM은 기본적으로 대화를 하는 모델이 아니라 문장을 주면 뒤에 나오는 단어를 예측해주는 모델이다.
Gen AI 모델의 헛소리/환각 (Hallucinations)
컨텍스트: 상황, 맥락, 문맥
입력에 따른 Gen AI 모델: Input이 이미지인 경우
해상도를 낮은 이미지를 줘서 해상도를 높이거나 배경에 지우고 싶은 영역을 삭제하고 뒤의 배경을 적당히 만들어주거나 새로운 이미지를 생성하거나 이미지를 주고 이미지에 관한 설명이나 제목을 텍스트 형태로 출력할 수 있다. 또는 입력한 이미지와 유사한 이미지를 찾아주거나 이미지를 비디오로 만들어 줄 수도 있다.
입력에 따른 Gen AI 모델: Input이 Text인 경우
입력된 텍스트를 번역이나 요약을 할 수 있다. 텍스트 프롬프트를 통해 이미지나 비디오를 만들 수 있다. 그리고 텍스트를 오디오 형태로 읽어주거나 노래를 만들 수 있다.
Coding Assistant: 코드를 만들어달라는 요청이 프롬프트 형태로 인풋해 코드가 아웃풋이 된다.
Virtual Assistant: 특정 분야의 비서 역할을 한다.
Automation: 특정 도메인의 일을 자동화해준다.
멀티모달 파운데이션 모델
파운데이션 모델은 다양한 데이터를 인풋으로 데이터의 패턴을 찾아 요청된 내용을 생성하게 만들어준다.
하나의 모델이 여러 개의 미디어를 서포트하는 것이 멀티모달이다. (예: 텍스트를 통해 텍스트, 이미지, 비디오 등으로 출력하는 것)
Gen AI 사용시 해야할 일과 하지 말아야할 일
잘 사용하는 방법
독창적인 콘텐츠를 생성할 때 프롬프트를 어떻게 만드느냐가 중요하다.
개발자나 디자이너 같은 경우 서비스의 프로토타입이나 마크업을 요청할 수 있다.
잘못 사용하는 방법
AI를 통해 특정인물을 사칭할 수 있는 비디오나 오디오를 만들 수 있다. (딥페이크)
Gen AI의 기타 문제점(1)
누구나 브라우저를 통해서 볼 수 있다고해서 이를 사용하는 것이 합법이냐 아니면 라이센스를 명시적으로 받아야하는지 불분명하다.
Gen AI의 기타 문제점(2)
스타트업의 존재의미가 사라진다. 미래가 불분명하다.
Stackoverflow: 개발자 QnA 컨텐츠 회사
GPT(Generative Pre-trained Transformer)
Word Completion: 자연 언어에 적용해 문장 뒤에 나올 단어를 예측해주는 모델
Code Completion: 코드 뒤에 나올 단어를 예측해주는 모델
ChatGPT 소개
RLHF: 대화를 어떻게 하는 건지 예제 훈련 데이터를 만들어 Supervised Learning 형태로 훈련시킨 것 (사람들이 만들어준 대화 예제로 훈련했고 그 과정에 만들어진 모델로 대화를 했을 때 ChatGPT가 준 응답들을 보고 더 좋은 응답을 선택해 피드백 형태로 재훈련한 것이다.)
파인 튜닝 (Fine Tuning)
이미 만들어진 모델을 건드리는 것이 아니라 새로 얹은 레이어만 건드린다.
ChatGPT 훈련
강화학습 기법과 Supervised Learning을 사용했다.
1 사람들이 훈련 데이터를 만든다
2 예제를 가지고 GPT모델을 Fine-tuning한다
3 Fine-tuning한 모델로 대화를 하고 답을 사람들이 평가한다.
4 평가한 답으로 재훈련을 한다.
좋은 프롬프트란?
프롬프트: 주어진 명령이나 대화
역할을 부여한다. 무슨 일을 해야하는지 알려준다. 출력 형태를 설정한다. 제한이나 조건을 자세히 쓴다.
Quizlet
Duolingo
Morgan Stanley
Viable
Buzzfeed
나라별 특정 연도의 인구, 대륙, 수명, gdp를 분석한다.
실습을 할 때 워낙 방대한 데이터를 분석해서 분석하는데 시간도 오래걸리고 분석 방법 또한 잘 모르는 상태에서 Gen AI를 사용해보니 상당히 어려웠습니다.