AI
Created: 2025, 07 15 >Updated: 2026, 06 30AI, 머신러닝, 딥러닝 ?
- AI
- 머신러닝
- 모델
- LLM
- RAG
- 파인튜닝
- 에이전트
- 생성형 AI
- LLM
- RAG
- Vector Store
- MCP
- Agent
AI > ML > DL
Programming
- Algorithm + Data => Result
ML
- Result + Data => Algorithm
- Result + Data => Model Data => Predictions
Machine Leaning
- Prepare data -> Build and train -> Evaluate -> Prepare data
GPT
generative pre-trained transformer
- 생성형
- 미리 학습된
- 이 데이터에서 규칙을 찾아 내 - 트랜스포머의 역할
LLM 이후
추천 -> 의도 이해
기존 패턴 매칭, 반응형 추천으로 하던 것을 LLM 이후에는 실제 의도와 고객 맥락 이해, 지능적 이해, 선제적 제안을 할 수 있는 기술적 기반이 마련되었다.
생성형 AI의 진화 방향 -> 인간 개입 감소
- 어시스턴트: 규칙 기반
- 에이전트: 단일 목표, 광범위한 작업
- 에이전틱: 완전 자율, 다중 에이전트
에이전트의 동작
- 액션을 하고 관찰을 한다.
- 메모리와 툴이 필요하다.
AI를 에이전트로 만들면서 고려할 것
- 초기 레이턴시
- 비용
- 불필요한 호출 줄이기
- ReAct (Reasoning + Action)
- 생각과 액션을 분리. 이미 cursor 등 에이전트가 이런식으로 돌고있음
AI 프로덕트 진화 흐름
- 자연어를 받아들여서 우리의 툴로 연결한다
- 우리의 툴이 자연어에 적합하게 동작하게 한다
AI 사용법
그 전에, 체화해야하는 부분과 AI에게 맡길 부분 분리
- 디자인 레퍼런스는 내가 보고 느껴야한다
- 경험 어떤건 경험이고 어떤건 문서로 남을까
- ai가 초안은 만들어주지만 최종 go/no go 판단 정의는 사람이 적는다
- 빠짐을 막게하라
- 결정만 하면 되는 구조로 가야된다
AI 사용법
- 내가 정해야할 것들 리스트업
- 테스트 가능한 프롬프트
- 스킬은 동작에 대한 설명
- 스펙은 따로 정리
- 클로드가 아는 것과 모르는 것 구분해서 아는 것은 간결하게 설명
- 에이전트를 인턴으로 생각하고 어떻게 하면 이해할지 고려
- Bigquery라는 툴을 이용한 스킬 안에서도 또 구분이 명확히 분리되면 나눠주는게 토큰 절약됨 토큰 절약은 컨텍스트를 더 사용할 수 있다는 의미
- ai에게 풍성함을 요구하면 될까. 2~3개는 내가 만들고 그거에 맞게 50개로 늘려주는 역할
- 이게 few-shot 이랑 비슷하긴 한데
- skills
- 구조가 있다. skills.md 로 만들어야함
- 자주 트리거될 경우 조절 가능
- claude skills는 도제식 교육 프레임을 이용했나
- 창의성의 방향을 통제
- 이 제약 안에서만 자유롭다
- 이 수준이 아니면 내놓지 마라
- 정리하기 위한 문서가 아니라 수준을 끌어올리기 위한 압박 장치로 기능한다.
- 창의성의 방향을 통제
- AI에게 일 시킬 때 어떻게 해야하는지 명확한 정의가 나와있는 느낌이다.
- AI 꿀팁: 이전채팅을전달할때느려서 chatid로전달해서 넘기기 하면 빨라짐
- ai 개발하면서 신경썼던 것
- ai 비용 최적화
- 리소스 최적화 - 큐,스케줄러, api 서버 구조
- 질문에 답은 AI가 빠르게 줄 수 있다. 그치만 그걸로는 내가 직접 해보는 것 만큼 기억에 남지는 않는다. 어떤걸 빠르게 AI에게 맡기고 어떤걸 내가 직접 해야 할까
- 커밋 문구 자동화
- 룰 체크 단계
- 맞춤법, 기승전결을 잘 지켰는가 돌려볼 수 있는 워크플로우
- ai는 검증을 탄탄하게 하는 파이프라인을 만든다
- 모델이 발전하면서 시스템 프롬프트에 빼도 되는게 생긴다
ai 친화적 개발
- prd와 api문서를 기준점으로 둔다
- 수정은 이 문서들을 수정하게 하고 코드와 연계되게 한다
- 테스트코드도 prd가 베이스로 변경이 연계되어야 한다
- prd는 id를 가진다 REQ-ACTION-001
프롬프트 노하우
- ai에게 이전 대화를 기억하게 하는 법은 결국 문서화
- 내가 성장하는 방식으로 AI 를 활용해야 한다
- 용도에 맞는 AI 선택
- 자료 기반 AI 대화 : NotebookLM, Lilys AI
- 범용 기반 AI 대화 : chatGPT, claude
- 검색 기반 AI 대화 : perplexity
- ai 역할 - 발견, 가시성
- 역할 부여
- 스스로 검증
- 초기 기획 구체화
- 프롬프팅
- 3명의 전문가가 토론하는 라운드테이블 대화를 만들어줘
- 주제 빠르게 배우는 로드맵을 알려줘
- 어려운 개념은 초등학생도 이해할 수 있게 알려줘
- 이미지 프롬프팅
- 이미지는 진짜 디테일하게 해야 일관성이 잡힌다
- 복잡한 디자인 배제
- 프롬프트 명확한 지침
- 잠재적 문제 최소화
- https://sshong.com/blog/15161
- 프롬프팅
- https://maily.so/airecipe/posts/8do78ydnrgq
- 적극성을 제어해야한다. (AI가 알아서 하게 할지, 이것만 하게 할지)
- 모르는 게 있어도 스스로 찾아라
- 천천히, 깊게 생각해라 (ultra thinking)
- gpt5는 기본적으로 "신중형" 성향이라 가능한 모든 맥락을 모으고 최대한 확실하게 답을 주려고 한다. 그래서 완전히 정확하지 않아도 된다고 명시해주면 수집 단계가 조금 빨리 넘어감
- https://maily.so/airecipe/posts/32z8wgp1zn4
- 깊이, 길이, 적극성을 조절한다
- https://maily.so/airecipe/posts/8mo5pj9nz9p
- 페르소나를 구체적으로 설정해줄수록 세밀한 답변을 받을 수 있다
- 나의 상황을 솔직하게 공유
- https://maily.so/airecipe/posts/w6ov6yy7zk5
- 구현 잘된 이미지 프롬프트
- 프롬프트
- 이 작업을 잘 모르는 동료가 할 수 없다면 클로드도 못한다
- 맥락 정보가 있으면 더 잘한다
- 아래 프롬프트를 개선하기 위해 나한테 4가지 질문해줘 그것을 기반으로 프롬프트 만들어줘
- 사고과정을 출력하게 해서 생각의 연쇄를 만들게 해야 진짜로 깊게 생각함. 단순한 것부터 복잡한 순으로
- 단계별로 생각해보자
- 이건 특정인의 사고연쇄과정을 물어보는 식으로도 쓸 수 있다. 전문인의 지식이 녹아있기 때문에.
- 근데 이걸 잘 뽑는 것도 프롬프팅을 잘 써야할 듯
- 프롬프트 엔지니어링 가이드 사이트
- https://docs.anthropic.com/ko/docs/build-with-claude/prompt-engineering/overview#vs
- xml 형식처럼 열고 닫는 태그로 요청 구분
- xml 이란 html처럼 미리 정해진 태그가 아니라 사용자가 지정할 수 있는 태그를 쓰는 마크업 언어
- 강조는 효과가 있다
- ** Strict Rules! 반드시 이 룰은 지키게 됩니다. **
- AI는 거인의 어깨에 제대로 올라탈 수 있는 기회다
- 검색이 아닌 질문
- LLM 기본 세팅 파일들
- codex
~/.codex - claude code
~/.claude - gemini
- 내가 테스트는 전부 docker 로 하라고 한거랑 TDD 한거는 어디에 있지? prompt-archive에는 있는데 이걸 링크 걸었었던가
- codex
- LLM이 쓰는 문서
- rules - 시스템 지침
- agents.md - 기본 프로젝트 안내서
- plan - 이걸 기반으로 작업
- hooks - 응답 후 동작 실행 필요 시
- agents - 서브 에이전트화
- slash commands - 같은 지시 할거 있으면 커맨드화
- skills - 외부 기능을 쓰는거, 약간 tools 같은 느낌. claude용 https://github.com/anthropics/skills
- https://github.com/diet103/claude-code-infrastructure-showcase
- pm2 디버깅
- dev 폴더에 ecosystem.config.js 만들어서 경로 세팅해놓고
- 로그 파일을 같은 경로로 모아서 그걸 읽게 한다
- pm2 logs email --lines 200 로 에이전트가 읽는다
- pm2 restart 로 재시작하게 한다
- https://rosettalens.com/s/ko/claude-code-is-a-beast-tips-from-6-months-of-hardcore-use
- LLM 기본
- 한글로 대답해줘
- Docker로 환경관리하고 실행하고 테스트한다
- 개발 LLM 기본
- 일관성
- 테스트
- 변경 시 한 부분만 바꿔도 되는 설계
- 재사용 잘 하도록
- 바이브 코딩
- 기본, 테크 스펙, 플랜 문서 기반
- go를 입력하면 마지막 완료된 태스크부터 바로 시작 (단순화)
- 만약 티키타카가 필요하면 내가 채팅에 치고 그걸 LLM이 문서에 다시 업데이트
- 여러 개발 방향이 있을 수 있는데 그걸 토론 후 실제 개발은 최후에 한다.
- 근데 하나하나의 기능 개발에 대한 건 어디에 적지. 플랜을 싹 지우고 새로 적나.. 요일별로 플랜 파일을 따로 관리할까
- LLM의 학습방식은 내가 다 일일이 설명해주는게 아니라 결과를 보여주고 그걸 다른 작업에 적용시키는 거라서 LLM을 쓸 때도 그렇게 썼는데 실제로 LLM을 쓸 때는 최대한 일일이 설명해줘야 좋은 결과가 나오는게 아이러니
- AI 세팅 고수들
- https://github.com/affaan-m/everything-claude-code
- https://github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices
- https://github.com/SuperClaude-Org/SuperClaude_Framework
- https://github.com/anthropics/knowledge-work-plugins/tree/main/marketing/skills
- https://github.com/obra/superpowers
- https://github.com/forrestchang/andrej-karpathy-skills/blob/main/skills/karpathy-guidelines/SKILL.md
- https://news.hada.io/topic?id=27756&utm_source=weekly&utm_medium=email&utm_campaign=202613
- https://github.com/paperclipai/paperclip
프롬프트를 쓰면서 오히려 더 배우게 된다
- 직관을 가지게 된 나의 사고과정을 스스로 다시 상기해서 프롬프트에 넣어주는 작업을 하게 된다
- 운영 안정성 검증도 프롬프트로 물어보면 된다
- 코드 테크닉은 결국 필요하다
- 서비스 중단 시 데이터 정합성 문제 없을 것인가
- 데이터가 선형적으로 증가할 때 속도도 선형적으로 느려질 것인가
- a/b 테스트 가능한가
- 기능 플래그 사용으로 배포가 가능한가
- 오래 걸리는 작업은 배치로
- 상태와 무상태 구분
- 모든 스키마를 json으로 처리하는건 인간이 보기 힘듬
초지능 인공지능에 순응할 것인가
만약에 초지능 인공지능이 만들어지면 그 인공지능을 인간이 막을 수 있는 능력이 없다면
-
- 인공지능에 순응한 채로 살아간다
-
- 억제할 방법을 어떻게든 찾으려고 살아간다
- 나는 어떤 스탠스로 가야할까
- https://littlefoxdiary.tistory.com/105
- 지금은 플랜을 세우고 그걸 하나 하나 체크하는 식으로 AI를 돌리니까 제어가 가능하다
프롬프트 아카이브
- TDD
- My Clean Architecture
- 사이즈가 작을 때는 상관없고 좀 크게 갈거 같을 때 고려한다 아 프로젝트가 작아도 파일을 그 이름으로 만들면 되고 사이즈가 커지면 파일명대로 폴더로 만들어서 기능별로 분리해도 되겠다. 근데 람다니까 기능으로 또 나누면 되니까 파일레벨에서 다 끝나게 해도 좋을듯
- 프로덕션 레디 상태가 필요할 때 체크리스트로 몇개 뽑는다
- 퍼포먼스, 보안, 모니터링, 안정성,
- 코드레벨에서는 로그 잘 남기고 피처플래그 잘 보고, 트랜잭션 확인만 하고 병렬처리만 신경쓰자
- 이벤트 드리븐, 캐싱은 인프라에서 처리하고 싶은데 가능할까?
AI와 함께
- AI가 내 일은 다 대신 해준다고 생각하고 진행해야 한다 그것을 넘어서 회사의 업무를 대신 해줄 수 있다
- 면접 준비를 AI와 함께 한다
- 문제 해결 사례를 알고 싶다
- 장애 극복 능력이 내 장점인 거 같은데 이걸 어떻게 어떤 사례로 어필하면 좋을지 알고 싶다
- 노트를 인식한 상태인 AI에게 질문하고 싶다
- 챗지피티나 클로드로 회사의 기본 정보를 이해한 상태로 대답하게 할 수 있나?
- 번역 잘하는 AI는 deepl
- 미팅 녹음 및 인식 ai
- 티로 tldr 클로바
- make 자동화 툴
- 내 노트를 기반으로 ai와 토론하기
- 어떤 일을 직접 하고 어떤 일을 AI에게 맡겨야 할까
- AI는 기존 시스템에 영향이 적게 하기 위해 덧붙여서 분기를 추가하는 경향이 있어서 이 부분이 복잡성을 증가시키고 이걸 주의해서 봐야한다
- AI 로 앱을 만들 때 기본적인 나의 요구사항이 들어가야 한다
- 시각화
- 실시간성 반응 및 로깅
- 디자인 컨셉 세팅 - 간결하고 단순한 미적 디자인
- 테스트
- 폴더 정리
- 세세한 컨텍스트 전달
- 사용자가 커스터마이징 할 수 있는 조건
- 한눈에 전체가 보이는 오버뷰 대시보드
- AI는 만드는건 금방해주지만 검증을 잘 해야 함 검증 노하우가 필요할 듯
- 어려운 요구사항일 수록 검증이 힘들다
- ~하고싶다 라고 했을 때 사실은 그 안에 여러 작업이 필요한데 그걸 ai가 해준다
- 코드 수정하고 싶다 -> 이전 변경사항 영향은 없는지 수정은 잘 됐는지 검증
- ai는 기존 인터넷에 있는 자료에 강하다
- 반대로 최신 자료는 약한데 그록은 x와 연계되어있어서 최신 트렌드 파악은 맡겨볼만하다
- 에이전트(openclaw) 장점 : 모든 인풋을 정제해서 아웃풋으로 만들어 낼 수 있는 창구가 될 수 있다
LLM
- LLM 모델 비용 비교 사이트
- 기존 LLM이 할 수 있는 것과 할 수 없는 것
- 언어 영역
- 요청한 내용의 관련 내용을 찾을 수 있다
- 빠른 검색과 분석
- 우리의 컨벤션을 기억해서 그대로 구현해 줄 수 없다
- 찾아서 검색해서 결과를 알려주는거지 전체적인 맥락을 이해하지는 못한다
- 이미지를 이해하는건 멀티모달의 영역이다
- claude 4 sonnet이 잘한다고 하는데 어떤지 보자
- 언어 영역
- 프롬프트 엔지니어링
- G.S.T.A.R
- goal
- situation
- tone
- amount
- remark (추가 안내사항)
- planning 후 todo 처리
- chaining
- https://cookbook.openai.com/
- llm은 찾기에 최고 강점이 있어서 이 주소를 주고 원하는 걸 찾으면 찾을 수 있을 것이다
- gpt 파인 튜닝
- 필요한가
- 비용과 실제 용도를 확인해야 한다
- 단순 프롬프팅으로도 할 수 있을 수도 있다
- 어떻게 하는가
- 데이터는 어떻게 준비해야 하는가
- 얼마나 필요한가
- 필요한가
- 작업취소 및 재작업 워크플로우
- 간단 테스트 및 린트
- 프롬프트 읽기 전 훅으로 가이드부터 읽으라고 지시
- 필요한 것만 로드
- 클로드코드
- 디비 연결이 안되서 에러나니까 테스트코드가 통과가 안되서 테스트코드를 다 지워버림
- 디비연결에 대한 안내와 테스트코드는 지우지 말라는 안내가 필요할 듯
- 작은 태스크 단위로 하나하나씩
- 각 진행 상황과 생각을 항상 출력해서 확인할 수 있게 해줘
문서, 메모리, 벡터
문서 관리
- Rag와 파일 관리 규모 비교
- 100줄 - 파일 열기전 확인하는 양
- 300줄 - 최적 - 100줄 이상이라 목차 추가
- 500줄 - 최대
- 500개의 파일 - 인덱스파일로 관리
- 1,000개 이상의 파일 - rag로 의미론적 탐색 가능하게 하기
메모리 관리
- 스킬 문서는 디스크립션까지 읽는다
- 메모리.md
- 클로드.md
AI 컨텍스트
- https://memoryhub.tistory.com/entry/AI-%EB%AA%A8%EB%8D%B8%EC%9D%98-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EA%B8%B8%EC%9D%B4-%EC%99%84%EC%A0%84-%EB%B6%84%EC%84%9D-%F0%9F%A7%A0-GPT-4%EB%B6%80%ED%84%B0-Claude-Gemini-Llama%EA%B9%8C%EC%A7%80
- gpt4 turbo는 400페이지 분량의 책에 해당하는 정보까지 컨텍스트로 가질 수 있었음 (128K)
- gpt-4o는 128K
- gpt3는 1024였음
- gpt5는 400K, 24년 9월까지 데이터
- gemini 2.0은 2G
- claude 3.7, 4 sonnet은 200K
- 토큰 최대치에서는 성능이 제대로 안나오고 성능 포화점이 더 낮은 지점에서 존재하고 있음
- 토큰이 증가하면 비용도 증가한다
벡터 스토어
- 들어온 정보와 유사한 정보를 검색해서 대답할 때 사용하는 기술
- 앞서 관련된 정보가 있으면 찾을 수 있다?
- 사실적인 정보를 쿼리할 수 있다?
- 청킹으로 컨텍스트 분리
- 청킹 방법별 특징
- 고정 크기 청킹
- 시맨틱 청킹
- 재귀적 청킹
학습 시키기
pinecone이라는 벡터 데이터베이스에 배포를 학습시키면 명령어를 만들어주지 않을까? 배포를 원하면 argocd app create를 하고 옵션을 하나씩 알려주고 배포된 상태를 보여주라고 하면 argocd app get 하면 되고 아니면 아예 argocd document를 알려주면 알아서 명령어를 쓰려나!? s3를 데이터 소스로 사용하니까 명령어를 알게 된다!
일단 개인 노트를 s3에 올려서 잘 읽는지 보고 만들어놓고 하루에 요금 얼마나 나오는지 봐야겠다 한달에 만원정도로 사용할 수 있을까 출력 토큰 1,000개당 요금이 나오는데 토큰이라는게 단어 하나를 의미할 거 같다
학습시킬수있는 개인용 ai를 어떻게 쉽게 만들 수 있을까
ai 영상. 사진 -> 영상
- 힉스필드, 클링, 하이루오
- 구글은 veo3.1
AI 데이터 학습
데이터 수집 - 텍스트화 데이터 분류 - 파일 1개씩 LLM으로 내용 추출 -> 묶음을 다시 처리 (에이전트로 병렬 처리하도록 개발) 데이터 검증 - 정성 평가
데이터 분류 단계에서 AI에게 요청할 때 빠지는 부분이 있을 수 있는데 이걸 완화하기 위해 여러번 실행해서 빈틈을 최대한 메꾼다
AI의 동작 방식에 대한 혼돈이 왔었다
큰 토큰의 질문을 한번에 할 순 없다. 그래서 많은 파일을 한번에 읽히게 할 순 없다. 근데 방대한 양의 정보가 입력되어야 거기서 유의미한 응답을 한다. 학습 시킬때는 많은 데이터가 있어야하는데 새로운 정보는 많으면 안된다
시중에 나와있는 ai 래핑 서비스가 유의미한 서비스인 이유는 나름의 모델 학습이 있기 때문인 것 같다. Ppt만드는 서비스는 ppt에 특화되어 있는데 이건 학습을 따로 시킨건가? 근데 또 전에 퍼플렉시티나 이런건 따로 학습 시킨게 아니라 여러 체인을 만들어서 자기들의 데이터를 더해서 응답하게 한 거라고 하던데 그러면 이 기획전 서비스도 충분히 만들어 질 거 같은데 어떻게 하면 되지?
기존 모델에 질문하고 그 질문에 퓨샷프롬프팅을 하고 응답 결과를 가공하고 결과물을 더하고 합치고 섞을 수 있으면 될 거 같은데, 퓨샷을 잘 만들어야 할 거 같은데 어떻게 만들지? 정형화 되어있는 양식대로 만들면 되는데 이걸 프롬프트에 넣을 순 없다. 근데 또 파악하라 하면 할 순 있다.
RAG는 확장장치가 될 순 있지만 문맥을 이해하게 만드는 장치로는 쓸 수 없다. RAG에 많이 담아놓으면 유사한 것을 찾게 할 수는 있지만 그 내용들을 다 염두에 두고 뭘 하지는 않는다
AI Stack
AI Stack
- https://www.youtube.com/watch?v=0HB6NIrRe2A
- Semiconductor
- cloud
- fm
- application
에이전트
조직에서 에이전트를 쓰기 위한 고민
인프라·운영
- auth 자동 재인증 🔼
- openclaw 세팅 동기화 🔼
- 오픈클로 자동 재시작은 하는데 세션이 초기화되는 경우 확인 필요 🔽
- llm wiki 로 돌려주자. 로컬에 있는걸 onedrive로 자동 옮김 🔼
- 외부 경로로 등록한 스킬이 잘 안 읽힘
- 내부통제 시스템(빅브라더 방지) 장치 만들기
- 에이전트 역할 : 관리의 위임 후 시각화
- kobi 성공사례 플로우 ✅ 2026-06-24
- DM은 코코가 잘해주는 건데 DM을 과연 쓸까
- 얘는 팀방에서의 컨텍스트를 전달하면서 proactive하게 제안하는 역할로 하면 어떨까
- 기능적인 부분은 AI 가 하고 논리적인 부분만 사람이 한다. 논리적인 부분도 AI 가 서포트 해준다
- 응답 하방 더 똑똑하게 만들기
- 하나의 백데이터로 여러 관점 정리 → 시도 도출
에이전트 동작
- 에이전트 만들어달라고 하면 제대로 못 만들어줌
- 에이전트도 만들 수 있고 자유롭게 쓸 수 있다
- 단 매니저에이전트가 관리가능하다
- 보안 스킬과 연계된다
- 평가지표 설정 후 에이전트 평가
- 각 에이전트의 성과지표가 있어서 이 에이전트의 성과지표를 높이는걸 목표로 하는것이 ax의 진행도를 높이는거라고 될 수있게
- 메타 페르소나 제작기
- 개인별 사고방식 자가개선
- 다른 사람의 USER.md 는 읽을 수 있지만 resource는 안되고 MEMORY도 안된다
- 주간보고 등의 문서가 바로 학습되서 다음 사용에 써먹을 수 있게
- 빠른 식별과 정확한 대답
- 에이전트 분리 후 대화 및 공유 폴더 설정
- 코드 레벨 수정은 dev agent만
- 에이전트: 일정이 추가되면 거기에 대한 맥락이나 정보를 제공해줘서 사용자가 몰랐던 정보를 알게 되면 빅 포인트
기능적인 부분
- 크론 알림 끄기/켜기 쉽게
- soul, user 정리
- 이전 작업의 완수여부를 스마트하게 판단
- 일일 미팅 자동 써머리 생성 (push 후보)
- 그룹방에서 물어볼 때 최근 질문 읽고 대답 확인 — 멘션 없이도 가능하게
- 사용자 직접 메모리 삭제·백업 가능하게
- 세션과 cronjob 맥락 연결이 기본으로 안됨 — 해결 방법 필요
- 데이터가 생기면 바로 공유됨
- 실적이 바로바로 데이터에 쌓이고 조회 가능
컨텐츠 / UX
- 리액션 수집 추가
- 가시성: 개인 파일 수정의 팀 공유
- 자기소개를 하도록 추가 (지금은 다 알지 못하지만 알려주면 계속 잘 기억하겠다)
- 미팅같은 이벤트 끝난거 감지하면 필요한 정보 물어보고 저장 - 파일이든 뭐든 다 받아서 m365에 저장하고 경로만 파악
- 미팅이 있었으면 리뷰 올리기 - 리뷰에 어떤 요소들이 필요할지 똑똑하게 요청
- 관계를 묻는 질문을 해서 데이터 확보
- 양치 → 배고픔 → 먹기 → 찝찝함 → 양치 (사용성 자연스러움 비유)
화면
- 채팅창에 ui 를 추가하는 아이디어 - https://github.com/ggui-ai/ggui
- 똑똑한 데이터 비주얼라이저 (HTML, 필터·검색, 텔레그램 외부화)
- 팀챗에서 대시보드
- m365에 연동해서 업데이트하고 보기 - 개인대시보드 되게
- 진행상황 보고 개인대시보드
- 개인용 설정 화면 추가
- 눈에 진행도가 보여야 한다
- 이런것도 있어요. 안내
- 그룹방에서 개인 식별이 대시보드에 보여야 함
머신러닝
지도학습 : 입력값과 결과를 같이 알려주는 것 비지도학습 : 입력값만 줘서 군집을 파악하는 것 강화학습 : 입력값에 대한 처리를 보고 보상을 조절 머신러닝 딥러닝 : 신경망을 층을 쌓아서 처리하게 하는 것 생성형 ai 예측 ai
머신러닝 안에 다 포함되는 개념
- 지도학습
- 비지도학습
- 강화학습 딥러닝을 이용해 지도학습, 비지도학습, 강화학습을 할 수 있다 모델을 이용하는게 딥러닝
TODO 성능평가방법 찾아보기
스포티파이의 머신러닝 기술은 데이터 속 단순 패턴이 아닌 인과관계를 찾는데 주력한다
"스포티파이의 머신러닝 기술은 데이터 속 단순 패턴이 아닌 인과관계를 찾는데 주력한다"
트랜스포머
- 트랜스포머
- gpt의 근간
- 어떤 문장을 주고 다음에 나올 단어를 예측하는 것이 기본 동작
- 번역을 위해 만들어졌으나 예측 기능을 계속 붙이면 문장을 만드는 것이나 이미지를 만드는 것에도 활용 가능했음
- transformer = attention + feed forward + perceptron
- attention 벡터 차원의 값을 주고 받는 과정
- 문맥을 파악하는 것이 될 수 있다. 문맥마다 단어의 의미가 다르게 쓰일 수 있으니까
- 최종적으로 모든 단어에 대한 확률 분포가 나옴
- 여러 파라미터가 있다 gpt-3 는 1700억개의 파라미터가 있다고 한다.
- 5만개의 단어를 입력해놨다
- 12288 차원
- 단어를 벡터화한다 -> 임베딩
- 단어를 그 고차원에 배열하려면 의도가 들어가고 어떤 바이어스가 있을 수 있다. 그게 곧 파라미터
- 같은 방향이라면 비슷한 의미일 수 있는 식으로 방향에 의미를 담기 위해서 파라미터가 필요하다
- 50000 * 12288 하면 6억개 정도. 1700억 중 6억은 단어와 차원
- 마지막 단계는 언임베딩인데 이것도 차원을 단어로 바꾸는거라 6억
- t가 0이면 값이 큰걸 강화해줘서 뻔한 결과가 나오고 t가 10이면 작은 값도 강화해줘서 값들이 비슷하게 만들어서 선택에 불확실성을 추가하고 더 새로운 결과가 나온다
- attention에서는 단어의 의미를 다른 단어들과 합쳐보면서 문맥에 맞는 방향으로 조금씩 이동시켜주는 것
- 역전파 (back propagation)
- 신경망에서 로직을 돌린 결과와 실제 정답의 차이가 있다면 정답을 기준으로 역 전파 하는 것.
- 가중치를 어떤걸 바꾸느냐에 따라 영향을 받는 값이 다른데. 어떤 가중치를 얼만큼 바꿀지 역으로 추적하는 것
ML
인공지능
기계도 학습에 의해서 정보를 습득하고 공부한다 데이터 라벨링을 해서 빅데이터를 이용해 공부를 시킨다 학습은 뇌세포의 연결강화 - 도널드 헵 -> 가중치(weight) 개념의 토대 인공지능 신경망은 뇌를 모델로 했다. (사람이 기준이다)
현재까지 해결된 문제들
- 한 방향의 학습모델은 XOR 문제를 해결하지 못한다
- Output을 Input에 다시 적용
- 역전파 알고리즘
- CNN
- 신경망이 깊어지면 예전 신경망 데이터가 날아간다 (Vanishing Gradient)
- 초기화가 중요하고, 초기화의 효율성이 좋아져야 한다.
- 자비어 초기화
- 학습을 많이 시키면 오히려 부정확해진다
인공지능 연구목적
- 인간 능력 증진
- 사람이 어떻게 사고하는지 이해하기 위해
출처: 야사와 만화로 배우는 인공지능
workflow
- 데이터 클리닝
- 데이터 축소
- 데이터변환
- 정규화
- 더미 코딩
- 평가지표
- 평가방법
- 데이터분리
- k 겹 교차검증
구성 요소
placeholder Variable Matmul Nn.relu Nn.softmax
파일에서 데이터 불러오는 방법
일단 입력데이터를 만들어내야 한다
leaner regression - 선형 회귀
- 비례 관계에 있다고 여겨지는 사건 예측 할 때 사용 가능
cost function
gradient descent algorithm
- 제일 좋은 가중치를 얻어낸다
convex function
sigmoid
MLOps
continuous training model continuous deploy model easy update test model
training serving
mlops
first-order-model: gif를 이용해서 사진을 특정 동작을 하도록 구현한다 build-model: 간단한 모델 생성 파일 keras-flask-deploy-webapp: 간단한 플라스크 구동 앱. h5파일을 빌드하고 실행한다 cnn: cactus recognizer, cnn 모델 생성 파일 있다
build-model을 이용해서 모델을 빌드하고 keras-flask-deploy-webapp으로 실행한다
! keyerror: sample_weight_mode 에러가 뜬다
- model.save()와 model.save_weight 차이가 뭔데
keras-deploy는 지금 텐서플로 모델을 불러와서 실행하고 있다. 커스텀 모델을 실행 가능하도록 설정 필요하다
! h5 마다 다 차이가 있어서 실행이 잘 안된다.
tensorflow Serving server라는게 있어서 모델을 여기에 저장해놓고 플라스크에서 호출해서 쓸 수 있다 그냥 모델을 플라스크 서버에 저장할 수도 있지만, 분리도 가능하다
- serving server
- pb 파일만 사용 가능, h5를 pb로 변환 가능
weight가 뭐고 weight, losses, optimizers를 h5 파일 안에 넣는단다 저 값들이 있으면 예측모델이 되는건가
ml devops
data composing
data preprocessing
model build to .h5
loading model route page
predicting data
DNN csv make model load model continuous update data continuous update model backtesting delivery to server
regression for predict classification for choice one of the fruit
Machine Learning framework
- tensorflow
- torch
- keras
- scikit learn
tensorflow
- tensorboard in docker
--bind_all
GAN
진짜데이터를 기준으로 제네레이터가 진짜데이터와 비슷한 것을 계속 생성하고 검사자는 진짜데이터와 제네레이터 데이터를 비교해서 진짜를 찾는과정인데 제네레이터는 작업을 하면 할수록 진짜와 비슷한 작업물을 만들 수 있고 검사자는 더 잘 구분할 수 있게 된다 데이터가 충분치 않을 때 사용하면 원하는 데이터를 얻어낼 수 있다
데이터 분석
- 데이터 출처 이해
- 보통 csv 파일로 받는다
- 데이터 크기 확인
data = pd.read_csv(file_path)data.info()
- 데이터 구성 요소(키, 몸무게) 확인
- 속성 탐색 (데이터로 무엇을 얻어낼지 생각)
- 구성 요소 간의 상관 관계 탐색
- 분석
- 시각화
- pandas
- 분석 결과의 타당성을 검증하기 위해 분석 대상 간 통계적 차이를 검정하는 과정이 필요하다
- 통계적 차이가 뭐지?
- 우연 - 통계 - 실제
- 우연히 그런건지 통계적으로 차이가 있다고 볼만한지 따져보는 것
- 통계적으로 유의미한지 표본, 데이터 등으로 보는 것
- 단, 실제로 중요한 것은 다를 수 있다
- 텍스트 마이닝: 데이터 파싱 - 시각화
- 미래 예측 (회귀 분석)
- arima
- 의사결정 트리
- 랜덤 포레스트
- XGBoost
- heuristic
- 머신러닝을 위한 데이터