★ 학습하고 최적화하고 자동화하라, 여전히 중요한 건 그 모든 과정을 공유하는 것!
★ 도입부터 시행착오까지, 우아한형제들의 AI 개발 여정을 그대로 담았습니다.
GPT와 생성형 AI, 머신러닝, MLOps… 기술의 흐름은 빠르게 변하고 있지만, 그것을 실무에 어떻게 녹여내야 하는지는 여전히 어려운 문제입니다. 《요즘 우아한 AI 개발》은 우아한형제들이 실제 서비스 개발의 현장에 AI를 적용하면서 겪은 도전과 해결 과정, 그리고 그 속에서 얻은 인사이트를 담았습니다.
- 챗GPT와 GPT API를 도입하고 서비스에 적용하기
- 기존 머신러닝 기반 시스템에 생성형 AI 더하기
- 실시간 반응형 추천 서비스에 생성형 AI 적용하기
- 코드 없이 데이터를 추출하는 AI 데이터 분석 봇 만들기
- 배달 로봇에 인공지능 알고리즘 이식하기
- LLMOps를 활용한 데이터 검색 및 분석 자동화
AI 메뉴 추천부터 프롬프트 엔지니어링, 실시간 반응형 추천 시스템, 로봇을 위한 MLOps까지, 우리에게 너무나도 익숙한 '배달의민족' 실제 프로젝트를 통해 AI 기술이 어떻게 적용되었는지를 생생하게 전합니다. AI 개발을 이해하기 위한 다양한 개념과 AI 모델별 활용 사례, 실제 활용한 코드까지 생생하게 만나보세요. 우아한형제들이 직접 경험한 시행착오와 해결책을 가감 없이 공유합니다!
★ 요즘 개발에서 AI는 선택이 아니라 필수!
AI는 이미 개발의 한가운데 있습니다. 이제 막 AI를 도입하려는 팀도, 이미 AI를 활용하고 있는 개발자도 우아한형제의 경험에서 새로운 통찰을 얻을 수 있을 것입니다. 현장의 AI 활용법이 궁금하다면, 이 책과 함께하세요.
★ 다음에 해당한다면 이 책을 추천합니다
- 생성형 AI, GPT, 머신러닝을 실무에 적용하고 싶은 개발자
- AI 기반 서비스를 고민하는 기획자와 프로덕트 매니저
- 데이터를 더 스마트하게 활용하고 싶은 분석가
- 우아한형제들이 AI를 활용하는 방식을 알고 싶은 사람
★ 본문 속으로 - GPT로 뚝딱 만들어낸 '메뉴뚝딱 AI'
만약 GPT를 활용해 먹고 싶은 메뉴에 맞는 가게를 추천할 수 있다면 어떨까요? 나아가 아직 뭘 먹고 싶은지조차 정하지 못했다면, 메뉴 선택은 물론 가게 선택까지 도와줄 수 있지 않을까요? 저희는 이 질문에 주목하며 GPT 활용 방안을 구체화해나갔습니다.
...
먼저 GPT-4o mini가 리뷰를 읽고 의미 있는 단위로 리뷰를 나누어 청크로 만들고, 그 청크가 어떤 메뉴나 식재료에 대한 내용인지 추출합니다. 또 각각의 청크가 어떤 카테고리(맛, 식감, 함께 먹는 사람, 상황 등)에 해당하는지 분류를 진행합니다. 마지막으로 GPT-4o는 청크 안에 저희가 미리 만들어놓은 키워드와 유사한 표현이 있는지를 확인합니다. 이 과정을 통해 저희는 컨텍스트 추출의 정확도를 높이고, 리뷰가 메뉴, 식재료, 서비스, 배달 등 어떤 부분에 대한 평가를 담고 있는지를 고도화하여 추출합니다.
★ 본문 속으로 - 우아톤에서 탄생한 AI 데이터 분석가 '물어보새'
AI 데이터 분석가 ‘물어보새’는 생성형 AI를 주제로 한 〈우아톤 2023〉을 계기로 탄생한 프로덕트입니다.
구성원들의 요구와 관심이 지속되어 2024년 1월에 본격적인 개발을 위한 ‘언’지니어’ 태스크포스(TF)가 구성되었습니다. ‘물어보새’는 더욱 발전해 쿼리문 생성뿐만 아니라 쿼리문 해석, 쿼리 문법 검증, 테이블 탐색 및 로그 안내 등의 다양한 기능을 갖추게 되었습니다.
…
물어보새의 기반 기술은 LLM, RAG, 랭체인(Langchain), LLMOps입니다. LLM은 딥러닝 알고리즘 기반의 대규모 언어 모델입니다. 가장 유명한 모델로는 OpenAI의 GPT 시리즈가 있습니다. 해당 모델은 일반적인 질문에 대해 대답할 수 있지만, 특정 회사에서 통용되는 질문에 대해서는 제대로 답하지 못합니다. 그 이유는 그 회사의 데이터를 모델이 직접 학습하지 않았기 때문입니다.
…
물어보새는 랭체인에서 제공하는 도큐먼트로더, 벡터스토어, RAG QA 등을 활용해 도메인 지식을 기반으로 LLM 답변을 생성하는 기능을 만들었습니다. 그리고 다음과 같은 네 가지 요소인 ‘데이터 보강’, ‘검색 알고리즘 개발’, ‘프롬프트 엔지니어링’, ‘실험 및 평가 시스템 구축’에 집중해 새로운 구조를 개발했습니다.
★ 본문 속으로 - 우아한형제들 로보틱스LAP의 자율주행 배달 로봇 개발 이야기
우아한형제들 로보틱스LAB에서도, 실외 배달 로봇의 자율주행에 사용할 머신러닝 모델을 개발할 때 이런 고성능 서버들을 사용합니다. 덕분에 매우 큰 데이터셋들과 다양한 고성능 머신러닝 모델들을 손쉽게 다루고 있죠. 그러나 여기엔 한 가지 문제점이 있는데, 바로 고성능 서버 환경에서 개발된 머신러닝 모델은 곧바로 로봇에 배포할 수 없다는 점입니다.
…
이제부터 고성능 서버 환경에서 딥러닝 프레임워크를 이용해 학습한 모델을 TensorRT 엔진으로 변환하는 과정을 예시 코드와 함께 살펴보겠습니다. 예시에서는 파이토치의 ResNet-18 모델과 허깅페이스의 이미지넷 검증 데이터셋을 사용했습니다.
★ 본문 속으로 - 빠르고 안정적인 AI 서빙 시스템 구상하기
우아한형제들 AI 플랫폼에는 서빙 자동화 시스템이 구성되어 있어서 AI 모델을 생성만 하면 모델 배포 및 관리 등의 작업을 알아서 처리해줍니다. 이 서빙 자동화 시스템이 어떻게 구성되어 있는지 알아보겠습니다.
…
우아한형제들 AI 플랫폼에서 구성한 모니터링 시스템을 예로 들어보겠습니다. 서비스별로 대시보드를 만드는 대신 하나의 대시보드에서 여러 서비스를 조회할 수 있도록 구성했습니다. 대시보드 상단에서 선택한 서비스에 해당하는 메트릭을 확인할 수 있는 구조입니다.
…
이후에는 UI를 구성해 웹페이지에서 쉽게 서비스 생성 및 수정을 할 수 있게 개발하려고 합니다. 그리고 AI를 이용해 어떤 기능이 필요한지 설명만 해주면, 처음부터 끝까지 자동으로 생성하는 플랫폼을 만들고자 하는 목표가 있습니다.
작가의 말
유영경 DR(Developer Relations)팀
디벨로퍼 릴레이션(DR, DevRel)은 개발자와 소통하며 기업의 기술과 가치를 알리는 활동입니다. 기술 블로그에서 경험을 공유하는 것도 DevRel 활동 중 하나인데요. 여러 구성원이 참여한 이 책으로 더 많은 독자와 지식을 나누고 공감하며 함께 성장할 수 있기를 기대합니다.
김민희
프론트엔드 개발자입니다. 우아한형제들 세일즈서비스팀에서 좋은 동료들과 재미있게 일하고 있습니다.
김정헌
우아한형제들에서 추천 서비스를 개발하고 있습니다. 일 잘하는 사람이 되고 싶습니다. 5월에 아빠가 되는데요, 많은 응원 부탁드립니다.
김태정
기술을 기반으로 배달의민족 사용자의 경험을 혁신하고 있는 Product Manager 김태정입니다. 다양한 AI 기술로 요구 사항에 부합하는 프로덕트를 만들어 업무 효율을 높이고, 새로운 고객 경험을 제시하는 데 힘쓰고 있습니다.
김희선
‘나는 왜 이 일을 하는가’를 끊임없이 고민하는 프로덕트 매니저(PM)입니다. 생성형 AI와 같이 새로운 기술과 지식을 탐구하며 새로운 서비스 경험을 만들고 다듬고 있어요.
문종식
로봇퍼셉션과 머신러닝팀의 문종식이라 합니다. MLOps, 엣지 디바이스를 위한 모델 경량화, 3D 객체 탐지 모델 개발 업무를 수행하고 있습니다.
박준수
우아한형제들 로보틱스LAB에서 컴퓨터비전과 머신러닝 연구 개발을 담당하고 있습니다.
성시형
서버 개발을 업으로 삼고 있는 성시형입니다. 재밌는 것과 신기한 것을 주위 사람들에게 알리는 순간이 가장 즐겁습니다.
송통일
임베디드 시스템, 로봇 비전 파이프라인, 에지 MLOps, 자율주행에 관심을 가지고 꾸준히 개발에 임하고 있습니다. 다양한 기술을 탐구하며 더 나은 로봇 시스템을 만들어가는 데 기여하고자 노력하고 있습니다.
오혜진
우아한형제들에서 비정형 데이터를 기반으로 한 AI 프로덕트들을 만들고 있습니다. AI 기술을 활용해 풍부하고 정확한 데이터를 구축하고, 사람들의 삶을 더 편리하게 만드는 서비스를 만들기 위해 노력하고 있습니다.
유민환
우아한형제들에서 AI 플랫폼을 개발하고 있습니다. AI 기술을 활용한 서비스 개발의 가속화를 지원하며, 이를 통해 서비스 품질 향상에 기여하고자 합니다.
이지혜
우아한형제들에서 검색 경험을 설계하고 개선하며, 고객이 빠르게 주문까지 이를 수 있는 검색 서비스를 만드는 데 집중하고 있습니다. 데이터와 AI 기술을 활용한 서비스 혁신에 관심이 많으며, 더 편리하고 효과적인 검색 환경을 제공하기 위해 노력하고 있습니다.
임현호
우아한형제들에서 AI 플랫폼을 개발하고 있습니다. AI 기술을 서비스에 쉽고 빠르면서 안정적으로 적용하기 위한 방법을 고민하고 있습니다.
정현
아동가족학과 출신 개발자. 오디오 엔지니어 경력을 시작으로, 임베디드, 데이터에 이르기까지 다양한 개발 영역을 접해왔습니다. 2016년부터 머신러닝을 검색, 추천 등지에서 대규모 트래픽 서비스, 플랫폼화하는 일을 본격적으로 해오고 있습니다. 우아한형제들에서 추천시스템/프로덕트를 위한 DE / MLE로 일하고 있습니다.
한상윤
기술로 현실의 다양한 문제를 해결하고, 주어진 리소스를 활용해 성능과 비용 효율을 극대화하는 것을 즐기는 소프트웨어 엔지니어입니다. 우아한형제들에서 다양한 서비스에 예측 시스템을 개발 및 적용하여 고객, 라이더, 사장님의 만족도를 높이는 역할을 하고 있습니다. 배우고 경험한 것을 정리하고 공유하는 것을 좋아하다 보니 이런 기회도 얻게 된 것 같고, 아무쪼록 이 책을 통해 많은 분께 작게나마 도움이 되었으면 좋겠습니다.
BADA팀 (성한영, 박준영, 이규철, 이범석, 윤영휘)
우아한형제들 구성원의 더 나은 의사 결정을 돕는 LLM 서비스 개발팀 BADA(Baemin Advanced Data Analytics)팀을 이끌고 있습니다.