티스토리 뷰

IT

챗GTP 개발자 핸드북 by 주한나

비즈붓다 2023. 11. 11. 11:08
728x90

[ 밑줄/연결 ]

 

대기업은 느립니다.예를 들어볼게요. MS에서 작은 기능 하나를 만들어 릴리스할 때 다음과 같은 프로세스를 따릅니다.

 

먼저 리더십 팀에서 어떤 기능을 만들 것인지를 결정합니다. 결정하는 데도 몇 달이 걸릴 수 있고....

기능이 정해지면 여러 가지 아이디어를 피치(pitch)하고 아이템을 선택하기까지도 상당한 시간이 걸립니다.

사용자 인터페이스, 개발 리소스와 백엔드 리소스는 얼마나 필요한 것인지 견적을 세우고, 그중에서 무엇이 제일 중요한지게 대한 논의를 거치면 드디어 작업 항목(work item)이 만들어집니다. 그리고 해당 팀에 작업 항목이 내려가죠.

 

디자인 문서를 만들고 논의를 거친 후 구현에 들어가는데 기존 플랫폼과 프레임워크, 파이프라인 등과 맞아야 하기 때문에 구현 과정이 쉽지도 않고 빠르지도 않습니다. 2~3개월 내에 끝내면 전광석화와 같은 수준입니다. 

 

Unit Test와 통합 테스트, E2E Tet를 진행합니다......

테스팅 엔진의 업데이트가 필요할지도 모르고 예전에 만든 프레임워크에 레거시 라이브러리가 있어서 라이브러리 간 버전 충돌이 있을지도 모르겠네요. 보안이나 그외 컴플라이언스를 이유로 출시 보류 혹은 불가 판정을 받을 수도 있습니다.

백엔드와 프론트엔드가 손이 맞아야 하는데 어느 한쪽에 리소스가 부족해 늦어질 수도 있습니다.

 

다 만들어지 다음에는 '패키징 --> 배포 --> 버그 찾기 --> 버그 픽스 --> 테스트 프로덕션'을 거쳐 릴리스하게 됩니다.

 

이 모든 과정을 거치고 나면 이제 수많은 리뷰가 기다리고 있습니다.

데이터 보호 리뷰, UI/UX 리뷰, 접근성 리뷰, 법무팀 리뷰, 보안 리뷰, 윤리적 AI 리뷰, LT 리뷰(Leaderhip Team) 등 등

대중을 위한 문서화 업데이트 필요하고 문제가 생겼을 때 핸들링할 팀을 세팅해야 하며 그들을 위한 메뉴얼도 만들어야 합니다. 이와 관련된 문제 해결 워크플로도 있어야겠죠. 새로운 기능을 모니터링하려면 대시보드 셋업도 해야겠군요....

오퍼레이션 쪽의 인프라 프로비저닝, 인프라 계획과 오케스트레이션, 고객 관리, 릴리스 커뮤니케이션.....

 

드디어 GA(General Availbility  버전(테스트가 완료된 정식 릴리스 버전)이 대중에게 공개됩니다.

아이디어 피치부터 여기까지 6개월 정도 걸렸다면 아주 빠른 겁니다. 보통 1년 정도 잡습니다. 

 

대기업에서는 기능을 완벽하게 컨트롤하는 것이 중요하기 때문에 일이 많아집니다. 

'우선 풀어놓고 보자!' 가 불가능합니다.

 

대화를 시작하는 것, 물꼬를 트는 것을 프롬프트(prompt)라고 합니다.

'지시한다', '말을 전한다'라는 뜻도 있습니다....

프롬프트는 AI 모델에게 내리는 지시 사항 혹은 대화의 물꼬 트기입니다. 그리고 AI모델이 좋은 결과물을 내도록 잘 지시하는 방법을 프롬프트 엔지니어링이라고 부릅니다.

 

제로샷(Zero-shot)은 아무런 예시를 보여주지 않고, 따로 훈련시키지 않고, 모델이 가진 기존 지식으로만 답변하게 하는 것

 

(깃허브 코파일럿)

GitHub 챗GPT가 크게 인기를 얻기 전부터 LLM을 활용한 코파일럿을 개발하여 배포하기 시작했습니다.

깃허브 코파일럿 VSCode가 가장 널리 사용되는 제품입니다.

 

깃허브 코팔일럿(GitHub Copilot)은 개발할 때 자동 완성 제안을 해주는 AI 프로그램입니다.

 

(랭체인)

랭체인(Langchain)은 LLM 개발을 쉽게 만들어 주는 소프트웨어 프레임워크입니다.

다양한 AI 언어 모델, 에이전트 및 프롬프트를 구조적 방식으로 만들고 연결할 수 있는 파이썬 라이브러리죠.

여러 모델이 순서대로 상호작용해야 하는 복잡한 AI 응용 프로그램을 만들 때 활용하면 좋습니다.

 

데이터베이스, PDF, 이메일 등 이용자가 소유한 데이터를 쓸 수 있도록 하고, 대화 기록을 저장하고, 다양한 도구를 사용하도록 하여 GPT/LLM 위에 애플리케이션을 쉽게 구축할 수 있게 만듭니다.

 

파이썬/자바스크립트 환경에서 실행할 수 있으니 그 언어들로 가능한 모든 코딩을 LLM에 연결할 수 있습니다.

 

(랭체인 구성 요소)

 

(임베딩 이해하기)

 

임베딩에 대한 이해 없이 LLM의 데이터 처리와 검색 등을 이해하긴 어려우니....

 

'단어 뭉치'를 엄청나게 쌓아서 분류해 둔 LLM 내의 언어 창고 안에서 어떤 위치의 무엇과 제일 가까운지 컴퓨터가 쉽게 찾을 수 있는 형태로 변환해 주는 것이 임베딩입니다. 이렇게 변환된 임베딩은 단어나 문장의 의미와 문맥을 반영하여, 이를 통해 컴퓨터는 단어와 문장 사이의 관계를 이해하고, 문장을 생성하거나 분류하는 등의 작업을 수행할 수 있습니다. 

 

 

[ 자평 ]

 

우선 저자 자체가 신뢰성이 있어 읽었다.

마이크로소프트 본사의  Copilot Applied AI팀에서 Senior Data Sceintist로 근무하고 있다고 한다.

20년 전에 파이썬 개발자로 시작하여 Perl, Java, 웹개발자, QA 백엔드개발자, 데이터 엔지니어, PM 등을 거쳐 데이터 사이언티스로 일하고 있다고 하니 이 분야 전문가라 할 수 있다. 

댓글