< 2주차 데이터 분석 소개(4) >
4-1. 퀴즈 리뷰
생략
4-2. Gen AI란? _ 첫번째
인공지능, 머신러닝, 딥러닝
- 인공지능 : 인간이 하는 일을 대신 해주는 시스템을 만드는 컴퓨터 과학
- 머신러닝 : 인공지능의 일부 -> 데이터에서 패턴을 찾는 블랙박스
- 딥러닝 : 머신러닝의 일부 -> 이미지/비디오/오디오 등의 복잡한 데이터 처리에 강점
-> 개념은 오래전부터 있었으나 빅데이터, 클라우드의 발전으로 떠오르게 됨
Gen AI ( Generative AI )란?
- Gen AI는 학습된 컨텐츠를 바탕으로 새로운 컨텐츠를 만드는 딥러닝 기술
-> 입력 컨텐츠의 내용을 학습한 모델이 만들어짐 ( ex. GPT)
ex. 자연스러운 언어 문장 데이터로부터 새로운 문장을 만들어냄!
ex. 본래 이미지 데이터에 약간의 노이즈를 넣어 새로운 이미지를 만들어냄
- 프롬프트를 바탕으로 대답을 예측하던지 새로운 컨텐츠를 생성
딥러닝과 Gen AI와 LLM의 관계
: Generative AI(Gen AI)는 딥러닝의 일부
: LLM(Large Language Model)은 Gen AI의 일부
딥러닝은 인공신경망을 사용해 기존의 머신러닝 알고리즘이 처리 못하는 복잡한 패턴을 처리 가능
-> 가중치 조절 등을 통해 해결
-> Bert라는 구글의 신경망 초거대 언어모델로 딥러닝이 떠오름 (LLM)
딥러닝의 모델 타입
: Discriminative
- Gen AI가 나오기 전의 가장 흔한 모델
-> 분류/예측을 하는 것으로 레이블이 존재하는 데이터(훈련 데이터)에 적용
-> 피처들과 레이블들간의 관계를 학습
-> 예) 개 혹은 고양이 이미지 분류
: Generative (Gen AI)
- 분류하거나 예측하는 것이 아닌 데이터의 패턴을 학습함
-> 훈련된 데이터와 비슷하지만 새로운 데이터를 생성
-> 훈련된 데이터의 통계적 특성을 이해 -> 비슷한 콘텐츠 생성
-> 비지도 학습에 해당 (정답이 없음)
-> 예) 개 이미지 생성
Gen AI 모델과 일반 ML 모델의 동작방식
- 둘 다 어떠한 인풋이 있을 때 아웃풋을 출력하는 형태 => 동작 방식은 같으나 다른 점은 출력 형태임
: 일반 ML 모델에서 y는 보통 숫자, 카테고리, 확률 등이 됨
: Gen AI 모델에서 y는 보통 자연어 문장, 이미지, 오디오 등이 됨
Gen AI의 파운데이션 모델 (1)
* 파운데이션 : 기본이 된다! -> 모델 생성은 돈, 시간이 크게 필요하기에 큰 회사들이 오랜기간 연구하고 노력해야 가능한 것임
- 광범위한 데이터 세트에 대해 학습된 대규모 머신 러닝 모델의 한 유형
: 이미 일반적인 지식이 학습되어 있음 (Pre-trained)
: Unsupervised Learning (정답이 없는 데이터) (혹은 Self Supervised Learning)
: 대용량 데이터로 학습하기에 엄청난 시간과 돈과 인력이 필요
: 트랜스포머 모델 아키텍처를 사용함 (Attention is All You Need)
( 트랜스포머의 수가 많을수록 돈, 시간이 늘어남)
Gen AI의 파운데이션 모델 (2)
- 특별한 학습 없이 다양한 작업에 적용 가능 (그래서 “파운데이션”이라고 부름) -> 굉장히 일반적인 모델이라 특정 주제보다는 일반적인 주제에 특화적임 (구체적인 내용은 살짝 부족함)
- 파운데이션 모델들의 특징
: GPT-3, GPT-4
: BERT
: T5
: DALL-E
: …
==> 별도의 훈련학습 없이 해당 모델을 활용 가능!
Gen AI의 파운데이션 모델과 파인 튜닝
: 파운데이션 모델을 파인튜닝(Fine-Tuning)의 형태로 특정 지식을 학습 시킴
-> pre-train된 모델을 특정 도메인에 적용할 수 있음
ex. GPT (LLM 모델: 나올 단어를 예측해주는 거대 언어 모델 ) ==> ChatGPT (GPT 모델을 파인튜닝한 것이 ChatGPT)
ex. 파운데이션 모델을 기반으로 훈련데이터 및 Layer를 조절하여 우리 회사만의 챗봇을 만들 수 있음
Gen AI 모델들
- Generative Language Models
: 훈련 데이터로 제공된 문장들로부터 언어 패턴을 학습한 모델
: 문장의 일부를 입력으로 받으면 다음 단어를 예측
- Generative Image Models
: Diffusion과 같은 기술을 사용해서 새로운 이미지를 만드는 모델
-> 프롬프트를 입력으로 받아서 이미지 생성
-> 이미지를 입력으로 받아서 여기에 특정 노이즈를 추가하여 이미지를 변환
Gen AI 모델의 헛소리/환각 (Hallucinations)
- 모델이 부정확하거나, 무의미하거나, 완전히 조작된 정보를 생성하는 경우
- 사실 확인(Fact-Checking)이 항상 필요함
- 발생 이유
: 훈련 데이터의 불충분 (품질 및 크기 부족)
: 훈련 데이터의 최신성 부족
: 훈련 데이터의 품질 이슈
: 모델에게 충분한 컨텍스트(요청)가 주어지지 않음 => 프롬프트 디자인이 중요해짐
4-3. Gen AI란? _ 두번째
입력에 따른 Gen AI 모델: Input이 이미지인 경우
이미지 입력을 바탕으로 새로운 이미지, 텍스트 등을 만듦.
- 출력이 이미지인 경우 : 해상도를 높이기, 배경 지우기 등의 새로운 이미지 생성
- 출력이 텍스트인 경우 : 이미지를 주고, 이미지의 제목 혹은 설명 요청 (Visual QA)
- 출력이 비디오인 경우 : 입력된 이미지를 바탕으로 상황을 제공하여 비디오를 생성함.
입력에 따른 Gen AI 모델: Input이 Text인 경우
ex. ChatGPT 처럼 대화형 모델
- 출력이 이미지인 경우 : 텍스트를 기준으로 이미지 생성
- 출력이 텍스트인 경우 : 글 교정 요청, QA 등
- 출력이 비디오인 경우: Text To Speehg -> Text를 읽어주는 AI, 상황에 어울리는 배경음악을 만들어줌 등
- 출력이 Task인 경우 : Coding Assistant (코드를 짜줌), Cirtual Assistant (비서 역할), 자동화 등
==> output이 Task인 형태인 모델들이 더 각광받고 있음
멀티모달 파운데이션 모델
대표적인 파운데이션 모델: GPT
-> 다양한 Large를 input으로 기초 모델(파운데이션 모델)이 생성
-> 이를 파인튜닝하여 특정 작업을 위한 모델을 생성할 수 있음
ex. ChatGPT
* GPT 4.0의 경우 멀티모달모델임 -> 이미지생성, 비디오생성 등 다양한 작업이 가능한 모델임!
Gen AI 사용시 해야할 일과 하지 말아야할 일
잘 사용하는 방법
- 블로그 또는 웹사이트를 위한 독창적인 콘텐츠 생성
- 예술 작품을 위한 영감 창출
- 빠른 프로토타입 및 목업 만들기 (개발자, 디자이너 등을 위해..)
- 파일 변환 및 이미지 업스케일링과 같은 단순 작업 수행
- 업무 어시스턴트로 사용 (코딩, 마케팅 등등)
잘못 사용하는 방법
- 시험이나 숙제 부정행위를 위해 AI를 사용하기
- AI가 말하는 모든 것을 액면 그대로 받아들이기 (항상 사실 확인) -> Gen AI는 거짓말을 사실처럼 만들어내기 때문!
- AI를 사용하여 다른 아티스트의 작품을 표절하기 (저작권 침해 문제)
- 딥페이크
Gen AI의 기타 문제점
- Microsoft, GitHub, OpenAI
: 라이선스 코드를 무단으로 재사용한 혐의로 코드 생성 AI인 Copilot에 대한 집단 소송 직면
-> 깃허브에 올라온 코드를 무단으로 데이터로 사용했음 -> 누구나 볼 수 있는 코드이기에 이를 데이터로 활용하는 것이 합법인지 아닌지에 대한 논의가 되고 있음
: 너무 빠른 변화로 인한 법제가 따라가지 못하고 있음
- AI 아트 툴 소송
: Midjourney는 웹 스크랩한 이미지로 모델을 학습시켜 아티스트의 권리를 침해 혐의로 소송 중
- Getty Image vs. Stability AI
: Getty Image는 Stability AI가 자사 이미지를 무단 사용하여 모델을 훈련했다는 이유로 소송 제기
- 나라에 따른 다른 입장
: 영국은 미국의 입장과 달리 텍스트 및 데이터 마이닝을 위한 콘텐츠 사용을 보다 허용하는데 적극적
-> AI가 발전된 나라에서는 규제가 심하고, 뒤쳐진 나라에서는 규제가 덜함. 나라마다 다른 규제
- 사칭을 통한 사기와 가짜 뉴스 생성
- 노동 시장에 주는 잠재적인 악영향
: 많은 수의 스타트업들이 도산
: Stackoverflow 같은 경우 트래픽 감소로 28% 인력 해고 (2023-10)
4-4. ChatGPT 발전 살펴보기
ChatGPT는 3버전부터 발전 속도가 가속화되었다.
GPT (Generative Pre-trained Transformer)
- OpenAI에서 만든 초거대 언어 모델
- 일반적인 내용을 바탕으로 훈련된 모델. 특정 도메인에 대해서는 잘 훈련되지 않음
: 훈련과 예측에 전용 하드웨어를 사용
: LLM: Large Language Model
- 처음에는 두 가지 모델을 제공
: Word Completion
-> 한국어를 포함한 다양한 언어 지원
: Code Completion
-> 자연어처리모델과 같은 코드 예측 모델 -> Copilot
https://namu.wiki/w/GitHub%20Copilot
- 참고로 네이버의 초거대 언어 모델은 Word completion만 지원
GPT 3 vs GPT 4
GPT-3
: 175B 파라미터 = 800GB (훈련 비용 $4.6M )
: Context Window의 크기는 2,048+1
: 12,288개의 워드벡터를 사용
GPT-4 (2023.3)
: 1T 파라미터
: Context Window의 크기는 8,192+1
: 32,768개의 워드벡터를 사용
: Multi-modal (이미지 인식)
==> 굉장히 짧은 시간동안 이루어짐.
GPT 4 Turbo (2023.11 OpenAI Dev Day에서 발표)
- Context Window가 128K로 확장됨 (300페이지에 해당)
: 모델의 정확도가 개선됨
-> 300페이지의 입력을 주고 다음에 나올 단어를 예측하는 것임!
- API 기능 개선
: JSON 모드과 시드 제어, 다수 함수 동시 호출
- RAG 기능 제공
: 외부 문서나 데이터베이스를 가져올 수 있음
-> 서비스에 적합한 사전정보
- 정보 업데이트
: 2021년 9월 컷오프에서 2023년 4월로 갱신됨
경량 언어 모델들
: 초거대언어 모델까지는 필요없다는 측면에서 등장한 경량화 버전 언어 모델
-> 초거대 언어 모델에 비해 학습과 추론이 빠름
- 메타의 llama (v2까지 나옴)
- 스탠포드의 Alpaca
: 메타의 llama 파인튜닝 버전
- 데이터브릭스(Spark 회사)의 Dolly
: ChatGPT와 같은 대화모델
ChatGPT 소개
- 2022년 11월 30일 발표 (이때는 GPT3를 바탕으로 만들어짐 -> ChatGPT 3라고 부름! )
- GPT를 챗봇의 형태로 Fine-Tuning
-> RLHF: Reinforcement Learning from Human Feedback
=> 사람들이 만들어준 대회 예제를 바탕으로 훈련이 되었고, 응답 중 최선의 응답을 찾아 피드백하는 형태로 개발된 모델
-> GPT의 지식을 챗봇의 형태로 활용 가능 (Prompts 엔지니어링 탄생)
==> 매주 1억명의 사용자가 사용, 92%의 회사가 사용, 2백만명의 개발자가 사용
===> 갑작스러운 형태로 매우 발전!
- 용도
: 질문에 대한 답변
: 정보 추출
: 번역
: 대화 생성
: 글쓰기 지원
: 코드 생성 및 리뷰
: …
파인 튜닝 (Fine Tuning)
- 이미 만들어진 모델 (Pre-trained Model) 위에 새로운 레이어를 얹히고 다른 용도의 데이터로 훈련하는 것
- GPT는 이를 API로 지원함
: 기본 언어 모델 위에 나만의 모델 생성 (버티컬 전용 모델)
ChatGPT 훈련
- RLHF: Reinforcement Learning from Human Feedback
- 초기 학습 데이터 : 다양한 대화 예제
- 여러 대화 예제를 사람 피드백 기반(좋은 응답인지 피드백)으로 대화하는 인공지능 모델 학습 (GPT 모델을 Fine-tuning)
- 강화학습 기법을 활용해 ChatGPT 학습
ChatGPT 관련 기타
- RLHF 훈련을 위한 오픈소스 탄생
: 마이크로소프트의 DeepSpeed ( RLHF 을 오픈소스화한 API )
: 데이터브릭스의 Dolly는 대화훈련셋까지 공개
-> databricks-dolly-15k: 데이터브릭스직원들이 참여해서 만든 대화훈련 데이터
- InstructGPT
- AutoGPT
: GPT의 다양한 기능을 활용해서 업무 자동화를 해주는 툴
: No-code 툴
좋은 프롬프트란?
: Act as a [Role], [Task], in a [Format] using a [Tone]. The main objective is to [Objective], don’t use [Restriction]
- 예) Your new role is article writer and your task is to write an introduction. Your main objective is to explain simply what ChatGPT is, to people who are uninformed about the subject. The tone you will use is fairly neutral, but still enthusiastic. The context in which you are creating this introduction is for an article that will explain how to generate effective prompts with ChatGPT. First, you'll explain what ChatGPT is and then you'll write a tagline. I would like this introduction to be no longer than 8 lines.
--> 1) 역할 부여 / 2) 해야할 일 설명 / 3) Format 제공 / 4) 방향성 / 5) 필수사항 + 제한사항
- 사용하면 좋은 다른 표현들
: Let’s think step by step (단계별로 생각하고 알려달라고 하기)
: Thank you for your hard work (칭찬 많이 하기)
ChatGPT 4.0 (2023.03)
- 4.0부터는 월 20불 (약 26,000원)
- 4.0에서 Code Interpreter 추가
: 코드를 작성하고 Jupyter Notebook에서 실행 가능
: 샘플 데이터를 업로드하고 관련해서 다양한 질문 가능(데이터 분석, 코드 작성 등)
- 인터넷을 통해 연결하고 일부 정보를 검색
- 이미지 업로드 지원 (이미지 제목 요청 혹은 이미지 QA 등)
ChatGPT 4의 주요 특징
- 새로운 AI 모델 사용
- 8배 더 큰 단어 컨텍스트 지원
- 최신 정보를 얻기 위한 인터넷 서핑 지원
- 플러그인 지원
- 언어지원이 더 개선되었고 답변도 더 좋아짐
- 코딩과 관계된 부분 기능 개선
- Code interpreter 지원 (데이터 분석 가능)
- 멀티모달 지원 (이미지와 텍스트 / 오디오 기능 추가)
ChatGPT 4.0 플러그인
- ChatGPT 플러그인 기능 추가
: 예) 여행 리서치에 끝나는 것이 아니라 이를 여행 관련 예약으로 연결해주는 것
: 플러그인 사용/개발시 별도 등록 필요 -> 플러그인 스토어
GPT 4 Turbo (2023.11 발표)
- 멀티모달 기능 API에 추가
: 고품질 Text-to-Speech와 Dalle-3 지원 (이미지 생성 가능)
: 코카콜라가 이를 이용해서 Diwali 카드 만들기 캠페인 시작
: 이미지를 API 입력으로 지원
-> “Be My Eyes”는 이를 이용해 시각장애인을위한 서비스 생성
: Speech-to-Text Whisper v3 오픈소스 릴리스
- Custom Models (실험 버전)
: LLM 모델 생성 서비스 제공. Open AI 인력이 모델 생성을 도와줌
- Copyright Shield (ChatGPT Enterprise & API) -> 법적인 소송이 발생할 시 OpenAI가 도와주겠다는 의미
- 가격 인하 (3x input tokens, 2x output tokens)
GPTs: 에이전트 기능 구현 (커스텀 챗봇)
=> custom chatbot을 쉽게 만들어주는 기능
- GPTs는 특정 목적에 맞는 ChatGPT의 맞춤형 버전
: GPT Builder 기능이 제공됨 => No Code 솔루션 (채팅으로 빌딩) (API 사용 X)
- Instructions, Expanded Knowledge, Actions로 구성됨
: 플러그인 기능을 Actions로 발전시킴
GPTs Store
- 내가 만든 GPT를 외부로 퍼블리시하거나 개인용으로 사용 가능
: Enterprise GPT라면 회사 내에서만 사용 가능
- Revenue Sharing 제공
- API로도 제공
GPTs 예제 살펴보기
- 예) Code.org Lesson Planner: code.org의 컨텐츠를 바탕으로 구성 -> 교사들이 커리큘럼을 쉽게 만들 수 있는 모델
- 예) Canva: 디자인하려는 내용을 자연언어로 처리 -> 원하는 대략 모형을 만들어줌
: 원하는 디자인이 나오면 Canva로 이동
- 예) Zapier: 6천개의 응용프로그램과 연동하는 기능 제공
: GPTs가 Zapier의 어느 capability를 사용할지 결정
Assistant API: Assistant Agent
=> 생산성을 높이기 위해 업무 자동화를 해줌
- Threading (긴 대화를 기록)
- Retrieval
: 어시스턴트에게 더 많은 정보 제공 (파일 업로드)
- Code Interpreter
: 어시스턴트가 업무 수행 중 필요하면 코드 작성해서 해결
- Function Calling
: JSON 출력 모드 지원과 다수의 함수 호출 동시 수행
: TTS와 STT 사용 가능
: 필요한 정보를 인터넷에서 리얼타임으로 읽어옴
4-5. Gen AI 적용 케이스
Case Study: Quizlet
Q-Chat: 새로운 AI 튜터를 만나보세요 | Quizlet
: OpenAI의 ChatGPT로 구축된 Q-Chat이라는 AI 개인 튜터 (학습용)
: 다양한 토픽에 대해 일대일 채팅을 통한 학습 가능
Case Study: Duolingo
: 듀오링고는 GPT-4로 두 가지 새 기능을 구현 (프리미엄 기능) -> 언어 학습을 해주는 앱
- Roleplay: AI 대화 파트너 (특정 상황을 시뮬레이션하며 언어를 쉽고 효과적으로 배움)
- Explain my Answer: 실수할 때 문법 규칙을 세분화하여 설명
Case Study: Morgan Stanley
: 자산 관리와 관련된 방대한 내부 데이터 검색용 챗봇 개발을 위해 GPT-4 도입
-> 내부 직원용 챗봇으로 PDF 등의 다양한 포맷으로 구성된 데이터 검색 수행
Case Study: Viable
: Viable은 GPT-4를 사용하여 CS(customer support) 티켓과 같은 자연언어 데이터(비정형데이터) 분석 수행
-> OpenAI의 LLM을 파인튜닝하여 비정형 데이터 분석용 모델 생성 -> 고객의 건의사항 확인 가능
: Viable은 이 AI 모델 개발을 위해 거의 3년 동안 OpenAI와 긴밀히 협력
Case Study: Buzzfeed
: 이 사례는 버즈피드와 ChatGPT의 협업
: 퀴즈 생성: 즉석에서 퀴즈 콘텐츠를 생성을 위해 ChatGPT를 사용 (ChatGPT 초기 적용 사례 중 하나)
-> https://www.buzzfeed.com/badge/ai-quiz
: 레시피 추천: 음식 브랜드인 Tasty의 레시피를 추천해주는 챗봇 (Botatouille) 개발에 ChatGPT 사용
4-6. 실습: Gen AI를 활용한 업무 자동화
- 마케팅 문구 생성
- 데이터 분석
- 코드 작성
- 등
"ChatGPT 4.0 Code Interpreter"를 사용한 데이터 분석을 해보자!
: Gapminder 데이터를 분석해볼 예정
-> 캐글 경진대회에 사용되었던 데이터
: 나라별 특정 연도에 인구가 몇 명인지, 어떤 종인지, 평균수명, gdp를 나타낸 데이터임
GPT4에서 데이터 업로드 후 분석 요청
==> 대화를 통해 계속적인 분석 요건을 구체화
- ChatGPT 4.0에서는 CSV 파일을 업로드할 수 있다. (그러나 GPT 4.0은 유료버전)
-> 질문: "이 데이터로 어떤 분석을 해볼 수 있을까?"
-> 질문을 하면 gpt가 데이터에 대한 설명, 어떤 분석을 해볼 수 있는지 등을 알려준다.
(시간에 따른 인구 변화 분석, 평균 수명의 변화와 요인 분석, 경제 발전과 인구/수명의 관계, 대륙별 비교 분석, 시간에 따른 경제적 불평등 분석, 고급 통계 분석)
ex. 요청: 평균수명에 영향을 주는 가장 큰 변수가 무엇인지 상관관계 분석을 해주고 그래프도 그려줘.
==> 그래프 및 그래프에 대한 설명을 해줌!
ex. 요청: 각 대륙별로 인구, 평균, 수명, GDP 등의 지표가 어떻게 다른지 비교 분석해줘.
==> 자동으로 그래프를 그려주었고, 자세한 설명을 해줌
ChatGPT 3.5 (무료버전) 에서는..
데이터의 구조를 설명해주고 예를 몇 개 들어준 다음에 어떤 분석을 할 수 있는지 요청할 수 있음. 그러한 예 중 선택을 하여 분석을 해주고, 코드를 달라하면 그래프를 얻을 수 있음!
'STUDY > DevCourse' 카테고리의 다른 글
[데브코스][데이터 분석] Excel을 활용한 다양한 데이터 분석 실습 (1), (2) (0) | 2024.02.26 |
---|---|
[데브코스][데이터 분석] 데이터 활용 시 고려할 점 (1) | 2024.02.23 |
[데브코스][데이터 분석] 데이터 기반 제품 개선 (0) | 2024.02.21 |
[데브코스][데이터 분석] 데이터 기반 의사 결정 (0) | 2024.02.19 |
[데브코스][데이터 분석] 데이터 문해력이란 (1) | 2024.02.19 |