Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
AI 시대를 준비하는
개발자를 위한 안내서
부제: AI 시대에는 개발자가 필요없다며?
차례
● AI에서 ChatGPT까지
○ AI, ML, Deep Learning, LLM
○ LLM의 장점 vs 단점
○ LLM이 잘 하는 일 vs 잘 못하는 일
○ ChatGPT & GitHub Copilot
○ 주요 AI 서비스
● AI와 함께 개발하기
○ 개발자의 역량
○ 프롬프트 엔지니어링
○ AI 시대에 대처하는 우리의 자세
● Demo
● Q&A
AI에서 ChatGPT까지
AI
AI, ML, Deep Learning, LLM, 그리고 ChatGPT
ML
DL
LLM
AI (Artificial Intelligence): 인간의 지능을
모방하여 문제를 해결하고 의사 결정을 내리는
기술 또는 시스템.
ML(Machine Learning): 데이터를 사용하여
자동으로 패턴을 학습하고 예측하거나 결정을
내리는 AI의 하위 분야.
Deep Learning: 인공신경망을 이용하여 대규모
데이터에서 고수준의 특징을 학습하는
머신러닝의 하위 분야
LLM (Large Language Model): 대규모 텍스트
데이터를 학습하여 자연어를 이해하고 생성할 수
있는 딥러닝 기반의 언어 모델.
Chat
GPT
출처: https://www.knowable.com/blog/introduction-how-to-apply-llms-and-ai-to-contracts/
소량의
도메인
데이터
소량의
도메인
데이터
미세조정
미세조정
사전학습
대량의
광범위한
데이터
비지도학습
자기지도학습
미세조정
지도학습
임베딩
LLM
강화학습
In-Context
학습
프롬프트
소량의
도메인
데이터
피드백
어텐션
레이블
LLM: 사전학습, 미세조정, 강화학습, 그리고 프롬프트
LLM: 장점
● 광범위한 지식 활용
○ 방대한 양의 텍스트 데이터를 학습하여 다양한 분야의 지식을 습득
○ 학습한 지식을 바탕으로 사용자의 질문에 폭넓고 심도 있는 답변 가능
● 뛰어난 언어 이해 및 생성 능력
○ 단어 간의 관계와 문맥을 고려하여 자연스러운 언어 이해 가능
○ 문법적으로 정확하고 의미 있는 문장 생성 능력
● 다양한 태스크 수행 가능
○ 텍스트 분류, 질의응답, 요약, 번역, 문장 생성 등 다양한 NLP 태스크 처리 가능
○ 하나의 모델로 여러 태스크를 수행할 수 있어 범용성이 높음
● 사용자 친화적인 인터페이스
○ 자연어로 된 사용자 입력을 이해하고 응답할 수 있어 접근성이 좋음
○ 챗봇, 가상 어시스턴트 등으로 활용되어 사용자 경험 향상
● 다양한 분야에서의 활용
○ 고객 서비스, 콘텐츠 제작, 교육, 의료 등 다양한 산업 분야에서 활용 가능
○ 사람과 기계 간의 상호작용을 향상시키고 업무 효율성 증대에 기여
LLM: 단점
● 편향성 문제
○ 학습 데이터에 내재된 편향성을 그대로 반영할 수 있음
○ 성별, 인종, 종교 등에 대한 고정관념이나 차별적 표현을 생성할 위험 존재
● 사실 관계 오류 가능성
○ 방대한 데이터를 학습하지만, 항상 정확한 정보를 제공하지는 않음
○ 잘못된 정보나 허위 정보를 진실로 간주하고 전파할 수 있음
● 맥락 이해의 한계
○ 문장 단위의 이해는 가능하지만, 장문의 글이나 복잡한 맥락 파악이 어려울 수 있음
○ 세계 지식과 상식 추론 능력이 부족하여 심층적인 이해에 한계 존재
● 일관성 문제
○ 동일한 입력에 대해 일관된 답변을 생성하지 않을 수 있음
○ 모델의 확률적 특성상 생성 결과가 매번 달라질 수 있어 신뢰성 저하
● 윤리적 문제
○ 악용 가능성이 존재하며, 책임 소재 파악이 어려울 수 있음
○ 모델의 출력 결과에 대한 통제와 검증 체계 마련 필요
LLM: 잘 하는 일 vs 잘 못하는 일
● 텍스트 생성 (이야기, 기사, 대본 등)
● 언어 번역
● 텍스트 요약
● 질문 답변
● 감정 분석
● 개체명 인식
● 텍스트 분류
● 문장 바꿔 쓰기
● 코드 생성 및 설명
● 대화 생성
● 텍스트 완성
● 문법 및 맞춤법 교정
● 간단한 수학 및 논리 문제 해결
● 텍스트에서 정보 추출
● 기본적인 추론 및 분석
● 창의적 글쓰기 (시, 작사, 작곡 등)
● 실시간 정보나 최신 사건에 접근
● 웹 검색이나 외부 데이터베이스 접근
● 이전 대화 내용 기억
● 대화 중 지식 베이스 업데이트 또는 학습
● 복잡한 수학적 계산 수행
● 이미지, 오디오, 비디오 생성, 편집 또는 분석
● 컴퓨터 파일 접근 또는 조작
● 전화 걸기나 이메일 보내기
● 물리적 세계나 IoT 기기와 상호작용
● 100% 확실한 사실 검증
● 손글씨 이해 또는 생성
● 개인적 의견이나 감정 제공
● 실제 세계에서의 의사결정이나 행동
● 개인 정보나 기밀 정보 접근
● 코드 실행 (코드 생성은 가능하지만 실행은 불가)
● 지속적인 학습이나 적응이 필요한 작업 수행
Generative
생성형
Pre-trained
사전학습된
Transformer
seq2seq+@
Chat
대화형
ChatGPT
GitHub Copilot
GPT Codex
GitHub
Copilot
GitHub
저장소의 소스
사전학습 +
미세조정
개발도구를 통한
프로젝트 수준
컨텍스트
● OpenAI ChatGPT & DALL-E https://chatgpt.com
● Antropic Claude https://claude.ai
● Google Gemini https://gemini.google.com/
● Microsoft Copilot https://copilot.microsoft.com/
● GitHub Copilot https://github.com/features/copilot
● Midjourney https://www.midjourney.com
● Stable Diffusion https://stability.ai
● DeepL https://www.deepl.com
● …
주요 AI 서비스
AI와 함께 개발하기
(AI 시대에도 필요한) 개발자의 역량
● 하드 스킬(정량적 定量的 Quantitative)
○ 프로그래밍 언어와 코딩 능력
■ Python, Javascript, Java,
…
○ 기술과 도구 활용
■ Git, Docker, AWS, …
○ 알고리즘과 자료 구조에 대한 이해
○ 학습 의지 & 능력
○ ex. “웹브라우저 주소창에 URL을
입력하면 일어나는 일들…”
○ …
● 소프트 스킬(정성적 定性的 Qualitative)
○ 커뮤니케이션
○ 자기계발
○ 문제 정의 & 문제 해결
○ 팀워크
○ 리더십
○ 직업윤리
○ …
(AI 시대에도 필요한) 개발자의 역량
출처: https://blog.boot.dev/jobs/hard-vs-soft-skills-for-programmers/
hard_skills * soft_skills = job_probability
(AI 시대에 필요한) 개발자의 역량
● AI as a Development Tool or 페어 프로그래밍 파트너
○ ChatGPT, GitHub Copilot, Bito.ai, Cursor.com, Codium.ai, …
○ 코드 생성
○ 코드 분석 & 검증 & 리뷰
○ 코드 요약(커밋 메시지 & 풀리퀘스트 작성)
○ 테스트 코드 생성 & 테스트 데이터 생성
○ …
● AI as a part of Feature: AI를 활용하는 기능 구현
○ OpenAI APIs, Langchain, AutoGPT, AutoAgent, Flowise, LlamaIndex, …
○ AWS AI services, Azure AI services, Google Cloud AI services, …
● (AI 엔지니어가 아니더라도) AI의 동작 원리에 대한 기본적인 이해
○ 주관식 vs 객관식ChatGPT는 항상 “정답”은 아니다.
○ 환각(Hallucination)에 속지 않기
○ 최신 정보 반영하기 Once Deprecated Always Deprecated
○ “ChatGPT 채팅창에 프롬프트를 입력하면 일어나는 일들…”
(AI 시대에 필요한) 개발자의 역량
(hard_skills + ai_skills * ai_utilization) * soft_skills
= job_probability
s
o
f
t
_
s
k
i
l
l
s
hard_skills
ai_utilization
Prompt Engineering
● Zero-shot learning
● One-shot learning
● Few-short learning
● Chain of Thought(CoT)
● Zero-shot CoT
● Tree of Thought(ToT)
● ReAct: Reason + Action
● Prompt as a Natural Language
● Prompt as a Very High Level Programming Language
AI 시대에 대처하는 우리의 자세
AI 시대에 대처하는 우리의 자세
● 知彼知己百戰不殆
○ AI가 잘하는 일 vs AI가 잘 못하는 일 vs AI가 하면 안되는 일
● AI는
○ (돈을 쓰는 만큼) 똑똑해지지만, (아직은) 허언증이 심하고
○ 단기 기억 상실증(?)이 있어서, 분위기 파악을 잘 못하는
○ (재미없고 따분한 작업만 시켜도 불평불만없이) 성실하고…
● 지능(Intelligence) vs 지혜(Wisdom)
● (아직은) 어떻게 써먹어야 할지 아무도 정답을 모름 -> 역전의 기회!
● AI 시대에는 개발자가 필요없다며?!
AI 시대에 대처하는 우리의 자세
AI 활용을 잘하는
주니어 개발자
AI 활용을 잘하는
시니어 개발자
AI 활용을 못하는
주니어 개발자
AI 활용을 못하는
시니어 개발자
Demo
https://youtu.be/nL8d_ytf3ZQ
Q&A
I'm sorry, Dave. I'm afraid I can't do that.

More Related Content

AI 시대를 준비하는 개발자를 위한 안내서(부제: AI 시대에는 개발자가 필요없다며?)

  • 1. AI 시대를 준비하는 개발자를 위한 안내서 부제: AI 시대에는 개발자가 필요없다며?
  • 2. 차례 ● AI에서 ChatGPT까지 ○ AI, ML, Deep Learning, LLM ○ LLM의 장점 vs 단점 ○ LLM이 잘 하는 일 vs 잘 못하는 일 ○ ChatGPT & GitHub Copilot ○ 주요 AI 서비스 ● AI와 함께 개발하기 ○ 개발자의 역량 ○ 프롬프트 엔지니어링 ○ AI 시대에 대처하는 우리의 자세 ● Demo ● Q&A
  • 4. AI AI, ML, Deep Learning, LLM, 그리고 ChatGPT ML DL LLM AI (Artificial Intelligence): 인간의 지능을 모방하여 문제를 해결하고 의사 결정을 내리는 기술 또는 시스템. ML(Machine Learning): 데이터를 사용하여 자동으로 패턴을 학습하고 예측하거나 결정을 내리는 AI의 하위 분야. Deep Learning: 인공신경망을 이용하여 대규모 데이터에서 고수준의 특징을 학습하는 머신러닝의 하위 분야 LLM (Large Language Model): 대규모 텍스트 데이터를 학습하여 자연어를 이해하고 생성할 수 있는 딥러닝 기반의 언어 모델. Chat GPT
  • 7. LLM: 장점 ● 광범위한 지식 활용 ○ 방대한 양의 텍스트 데이터를 학습하여 다양한 분야의 지식을 습득 ○ 학습한 지식을 바탕으로 사용자의 질문에 폭넓고 심도 있는 답변 가능 ● 뛰어난 언어 이해 및 생성 능력 ○ 단어 간의 관계와 문맥을 고려하여 자연스러운 언어 이해 가능 ○ 문법적으로 정확하고 의미 있는 문장 생성 능력 ● 다양한 태스크 수행 가능 ○ 텍스트 분류, 질의응답, 요약, 번역, 문장 생성 등 다양한 NLP 태스크 처리 가능 ○ 하나의 모델로 여러 태스크를 수행할 수 있어 범용성이 높음 ● 사용자 친화적인 인터페이스 ○ 자연어로 된 사용자 입력을 이해하고 응답할 수 있어 접근성이 좋음 ○ 챗봇, 가상 어시스턴트 등으로 활용되어 사용자 경험 향상 ● 다양한 분야에서의 활용 ○ 고객 서비스, 콘텐츠 제작, 교육, 의료 등 다양한 산업 분야에서 활용 가능 ○ 사람과 기계 간의 상호작용을 향상시키고 업무 효율성 증대에 기여
  • 8. LLM: 단점 ● 편향성 문제 ○ 학습 데이터에 내재된 편향성을 그대로 반영할 수 있음 ○ 성별, 인종, 종교 등에 대한 고정관념이나 차별적 표현을 생성할 위험 존재 ● 사실 관계 오류 가능성 ○ 방대한 데이터를 학습하지만, 항상 정확한 정보를 제공하지는 않음 ○ 잘못된 정보나 허위 정보를 진실로 간주하고 전파할 수 있음 ● 맥락 이해의 한계 ○ 문장 단위의 이해는 가능하지만, 장문의 글이나 복잡한 맥락 파악이 어려울 수 있음 ○ 세계 지식과 상식 추론 능력이 부족하여 심층적인 이해에 한계 존재 ● 일관성 문제 ○ 동일한 입력에 대해 일관된 답변을 생성하지 않을 수 있음 ○ 모델의 확률적 특성상 생성 결과가 매번 달라질 수 있어 신뢰성 저하 ● 윤리적 문제 ○ 악용 가능성이 존재하며, 책임 소재 파악이 어려울 수 있음 ○ 모델의 출력 결과에 대한 통제와 검증 체계 마련 필요
  • 9. LLM: 잘 하는 일 vs 잘 못하는 일 ● 텍스트 생성 (이야기, 기사, 대본 등) ● 언어 번역 ● 텍스트 요약 ● 질문 답변 ● 감정 분석 ● 개체명 인식 ● 텍스트 분류 ● 문장 바꿔 쓰기 ● 코드 생성 및 설명 ● 대화 생성 ● 텍스트 완성 ● 문법 및 맞춤법 교정 ● 간단한 수학 및 논리 문제 해결 ● 텍스트에서 정보 추출 ● 기본적인 추론 및 분석 ● 창의적 글쓰기 (시, 작사, 작곡 등) ● 실시간 정보나 최신 사건에 접근 ● 웹 검색이나 외부 데이터베이스 접근 ● 이전 대화 내용 기억 ● 대화 중 지식 베이스 업데이트 또는 학습 ● 복잡한 수학적 계산 수행 ● 이미지, 오디오, 비디오 생성, 편집 또는 분석 ● 컴퓨터 파일 접근 또는 조작 ● 전화 걸기나 이메일 보내기 ● 물리적 세계나 IoT 기기와 상호작용 ● 100% 확실한 사실 검증 ● 손글씨 이해 또는 생성 ● 개인적 의견이나 감정 제공 ● 실제 세계에서의 의사결정이나 행동 ● 개인 정보나 기밀 정보 접근 ● 코드 실행 (코드 생성은 가능하지만 실행은 불가) ● 지속적인 학습이나 적응이 필요한 작업 수행
  • 11. GitHub Copilot GPT Codex GitHub Copilot GitHub 저장소의 소스 사전학습 + 미세조정 개발도구를 통한 프로젝트 수준 컨텍스트
  • 12. ● OpenAI ChatGPT & DALL-E https://chatgpt.com ● Antropic Claude https://claude.ai ● Google Gemini https://gemini.google.com/ ● Microsoft Copilot https://copilot.microsoft.com/ ● GitHub Copilot https://github.com/features/copilot ● Midjourney https://www.midjourney.com ● Stable Diffusion https://stability.ai ● DeepL https://www.deepl.com ● … 주요 AI 서비스
  • 14. (AI 시대에도 필요한) 개발자의 역량 ● 하드 스킬(정량적 定量的 Quantitative) ○ 프로그래밍 언어와 코딩 능력 ■ Python, Javascript, Java, … ○ 기술과 도구 활용 ■ Git, Docker, AWS, … ○ 알고리즘과 자료 구조에 대한 이해 ○ 학습 의지 & 능력 ○ ex. “웹브라우저 주소창에 URL을 입력하면 일어나는 일들…” ○ … ● 소프트 스킬(정성적 定性的 Qualitative) ○ 커뮤니케이션 ○ 자기계발 ○ 문제 정의 & 문제 해결 ○ 팀워크 ○ 리더십 ○ 직업윤리 ○ …
  • 15. (AI 시대에도 필요한) 개발자의 역량 출처: https://blog.boot.dev/jobs/hard-vs-soft-skills-for-programmers/ hard_skills * soft_skills = job_probability
  • 16. (AI 시대에 필요한) 개발자의 역량 ● AI as a Development Tool or 페어 프로그래밍 파트너 ○ ChatGPT, GitHub Copilot, Bito.ai, Cursor.com, Codium.ai, … ○ 코드 생성 ○ 코드 분석 & 검증 & 리뷰 ○ 코드 요약(커밋 메시지 & 풀리퀘스트 작성) ○ 테스트 코드 생성 & 테스트 데이터 생성 ○ … ● AI as a part of Feature: AI를 활용하는 기능 구현 ○ OpenAI APIs, Langchain, AutoGPT, AutoAgent, Flowise, LlamaIndex, … ○ AWS AI services, Azure AI services, Google Cloud AI services, … ● (AI 엔지니어가 아니더라도) AI의 동작 원리에 대한 기본적인 이해 ○ 주관식 vs 객관식ChatGPT는 항상 “정답”은 아니다. ○ 환각(Hallucination)에 속지 않기 ○ 최신 정보 반영하기 Once Deprecated Always Deprecated ○ “ChatGPT 채팅창에 프롬프트를 입력하면 일어나는 일들…”
  • 17. (AI 시대에 필요한) 개발자의 역량 (hard_skills + ai_skills * ai_utilization) * soft_skills = job_probability s o f t _ s k i l l s hard_skills ai_utilization
  • 18. Prompt Engineering ● Zero-shot learning ● One-shot learning ● Few-short learning ● Chain of Thought(CoT) ● Zero-shot CoT ● Tree of Thought(ToT) ● ReAct: Reason + Action ● Prompt as a Natural Language ● Prompt as a Very High Level Programming Language
  • 19. AI 시대에 대처하는 우리의 자세
  • 20. AI 시대에 대처하는 우리의 자세 ● 知彼知己百戰不殆 ○ AI가 잘하는 일 vs AI가 잘 못하는 일 vs AI가 하면 안되는 일 ● AI는 ○ (돈을 쓰는 만큼) 똑똑해지지만, (아직은) 허언증이 심하고 ○ 단기 기억 상실증(?)이 있어서, 분위기 파악을 잘 못하는 ○ (재미없고 따분한 작업만 시켜도 불평불만없이) 성실하고… ● 지능(Intelligence) vs 지혜(Wisdom) ● (아직은) 어떻게 써먹어야 할지 아무도 정답을 모름 -> 역전의 기회! ● AI 시대에는 개발자가 필요없다며?!
  • 21. AI 시대에 대처하는 우리의 자세 AI 활용을 잘하는 주니어 개발자 AI 활용을 잘하는 시니어 개발자 AI 활용을 못하는 주니어 개발자 AI 활용을 못하는 시니어 개발자
  • 22. Demo
  • 24. Q&A
  • 25. I'm sorry, Dave. I'm afraid I can't do that.