* AI에서 ChatGPT까지
- AI, ML, Deep Learning, LLM
- LLM의 장점 vs 단점
- LLM이 잘 하는 일 vs 잘 못하는 일
- ChatGPT & GitHub Copilot
- 주요 AI 서비스
* AI와 함께 개발하기
- 개발자의 역량
- 프롬프트 엔지니어링
- AI 시대에 대처하는 우리의 자세
* Demo
* Q&A
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% 확실한 사실 검증
● 손글씨 이해 또는 생성
● 개인적 의견이나 감정 제공
● 실제 세계에서의 의사결정이나 행동
● 개인 정보나 기밀 정보 접근
● 코드 실행 (코드 생성은 가능하지만 실행은 불가)
● 지속적인 학습이나 적응이 필요한 작업 수행
14. (AI 시대에도 필요한) 개발자의 역량
● 하드 스킬(정량적 定量的 Quantitative)
○ 프로그래밍 언어와 코딩 능력
■ Python, Javascript, Java,
…
○ 기술과 도구 활용
■ Git, Docker, AWS, …
○ 알고리즘과 자료 구조에 대한 이해
○ 학습 의지 & 능력
○ ex. “웹브라우저 주소창에 URL을
입력하면 일어나는 일들…”
○ …
● 소프트 스킬(정성적 定性的 Qualitative)
○ 커뮤니케이션
○ 자기계발
○ 문제 정의 & 문제 해결
○ 팀워크
○ 리더십
○ 직업윤리
○ …
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
20. AI 시대에 대처하는 우리의 자세
● 知彼知己百戰不殆
○ AI가 잘하는 일 vs AI가 잘 못하는 일 vs AI가 하면 안되는 일
● AI는
○ (돈을 쓰는 만큼) 똑똑해지지만, (아직은) 허언증이 심하고
○ 단기 기억 상실증(?)이 있어서, 분위기 파악을 잘 못하는
○ (재미없고 따분한 작업만 시켜도 불평불만없이) 성실하고…
● 지능(Intelligence) vs 지혜(Wisdom)
● (아직은) 어떻게 써먹어야 할지 아무도 정답을 모름 -> 역전의 기회!
● AI 시대에는 개발자가 필요없다며?!
21. AI 시대에 대처하는 우리의 자세
AI 활용을 잘하는
주니어 개발자
AI 활용을 잘하는
시니어 개발자
AI 활용을 못하는
주니어 개발자
AI 활용을 못하는
시니어 개발자