6,7월 동안 2024 우아한 스터디를 참여했다.
생성 AI가 판을 치는 이 시대, 어떻게 AI를 잘 활용할 수 있을까? 우선 프롬프트 엔지니어링을 잘 하는것부터 시작해야한다. 우리 함께 프롬프트 엔지니어링을 잘 터득해서, AI 시대에 함께 잘 살아보세! 라는 의미로 만들어진 스터디다. 스터디명은 프롬프트 참 잘하는 집! (뭔갈 열심히 튀겨야 할 것 같은)
✔️ 나만의 지원 Tip
공부하겠다고 모이는 스터디에 무슨 지원 팁?.. 이냐 할 수 있다. 그런데 우아한 스터디는 지원하는 사람이 정말 많다 보니, 나름의 전략을 가지고 지원할 수밖에 없다. 사실 작년에 지원했다가 떨어진 이력이 있다.
내 전략은 적극성이었다.(이보다 더 진부한 지원팁이 있을까?..) 스터디와 학교 수업과는 정말 다르다. 누군가 나를 이끌어주고 케어해 준다기보다는, 그 분야에 대해서 잘 모르는 미생들이 함께 모여 학습하는 공간이다.
이러한 스터디를 의미있게 만들려면, 스터디원들이 적극적이어야 한다고 생각했다. 과거 여러 스터디를 하면서, 그러한 분들이 스터디를 의미 있게 만들어 줬던 경험이 많았기 때문이다. 이런 거 유용하다. 이런 거 해보는 거 어떤가? 라고 적극적으로 내미는 스터디원이 굉장히 좋았다. 그런 구성원이 되어보고 싶었다.
어쨌든 이러한 점을 작성해 지원을 했고, 운 좋게 합격했다. 남이 보면 우형 입사했나? 착각할 만큼 기뻐했다.
✔️ 스터디의 방향
첫 시간에는 앞으로 2달 동안 어떻게 진행할 건지 이야기를 나눴다. 정말 아무것도 정해진 게 없는 상태에서 우리가 만들어가는 스터디였다.
프롬프트 엔지니어링은 직접 해보는 손맛이 필요하다고 생각했다. 애초에 확률 기반 모델인 AI에게 정석이란 건 존재하기 어렵다. 그래서 강의나 책으로만 프롬프트를 접하게 되면 자칫 이론만 빠삭하게 될 수 있다. 마치 연애를 글로 배우는 꼴이 될 수 있는 것..
거대한 책이나 강의를 보고 단순 그 내용을 공유하기보다는, 우리가 프롬프트를 직접 쳐보고 익힐 수 있는 2달을 보내기로 했다. 그러다 보니 총 2 단계로 스터디를 진행하게 되었다.
1️⃣ : 어떻게 프롬프팅 해야 원하는 것을 얻을 수 있는지, 다양한 방법을 익히고 직접 써보기로 했다.
2️⃣ : 이렇게 배운 프롬프팅으로, 우리만의 서비스를 만들어 보기로 했다.
✔️ 1 Stage : 프롬프트 익히기
1. 논문으로 검증된 26가지 프롬프트 엔지니어링
직접 실험을 통해 검증된 프롬프트 엔지니어링 기법이라, 우리가 처음 참고하기에 신뢰성이 있어 보였다. 평소 ChatGPT를 쓸 때, 깊은 고민을 하며 프롬프팅 할 일이 잘 없는데, 이번 기회에 하나씩 심사숙고하며 프롬프팅을 해볼 수 있었다. 제시된 26가지 방법이 모두 효과적이지는 않다는 의견도 있었다. 하지만 정밀한 답변이 필요한 순간에 어떤 기법을 적용해 볼 수 있는지, 가이드라인이 되기에는 충분했다.
2. 기업에선 LLM을 어떻게 활용할까?
우리에게 친숙한 서비스에서도, LLM이 많이 쓰이고 있다. 이러한 서비스를 만드는 기업에서는 어떻게 프롬프팅을 하고 있으며, LLM을 어떻게 활용하고 있는지 엿보는 것만으로 큰 공부가 될 수 있다.
개인적으로 이 케이스 스터디가 1 stage에서 가장 흥미로웠다. 실제 본업으로 LLM을 다뤄야 할 일이 많았고, 스타트업이다 보니 스스로 의사결정을 내려야 하는 순간이 많았다. 그러기 위해선 여러 판단 근거가 필수적이었는데, 다른 기업에서 활용하고 있는 사례를 본다는 것은 큰 자산이 되어 주었다.
3. 프롬프트를 적용한 경험 나누기
배운 걸 직접 써보자는 취지로, 각자 프롬프트를 활용한 사례나 간단한 프로젝트를 공유하기로 했다. 팀원들이 LLM을 활용한 사례를 너무 잘 뽐내줘서, 나는 이미지 생성 모델에 프롬프트를 적용한 사례를 공유했다.
최근 토스에서 재밌는 기술 블로그를 봤는데, 이를 우아한 형제들의 배달이 캐릭터에 적용해 보는 것도 의미 있겠다 싶어 진행한 프로젝트다. 이미지 생성 모델의 파인튜닝과 프롬프팅으로 배달이를 생성하는 프로젝트였다.
나중에 기회가 되면 더 고퀄리티로 진행해 보고 싶은 프로젝트로, 내 작업 리스트에 모셔놓고 있다.
✔️ 2 Stage : 직접 서비스 만들어 보기(with 해커톤)
직접 서비스를 구현해 보면서, 프롬프트를 활용해 보기로 했는데, 마침 해당 기간이 네이버 클라우드의 생성형 AI 해커톤 기간과 겹쳐서 우리끼리 서비스를 만들기보다는 해커톤을 참여하기로 했다. 러키비키~
스터디원 7명이서 2팀으로 나뉘어 참여했고, 각자 재미난 아이디어를 공유했다. 나도 아래와 같이 구구절절 아이디어를 냈다.
사실 인사이드아웃 영화를 보고 나오자마자, 노션에 메모해 놓은 아이디어였다. 당시 인사이드 아웃 2가 개봉했을 때라, 많은 분이 흥미를 가져 주었다. 결국 3명이서 한 팀을 이루어, 위의 AI 서비스를 만들게 되었다.
1. 인사이드 그램 구현기
인사이드 아웃과 인스타그램을 합쳐서 인사이드그램이라는 이름으로 서비스 개발이 시작되었다. 인사이드그램 핵심 기능을 잠시 설명하자면,
1. 유저가 자신의 일기를 포스팅하면, 해당 일기를 읽고선 상황에 적절한 감정이들이 등장하여 답변을 달아준다.
이 과정에서 LLM이 화자의 묘한 감정을 분석하여, 필요한 감정이 들(기쁨이, 슬픔이, 버럭이)을 선택한다. 그리고 영화 속 감정이들의 발화와 유사할 수 있도록 파인튜닝을 진행했는데, 이때 학습 데이터셋을 구성하기 위해 하이퍼클로바의 데이터생성 기법을 적용하였다.
2. 오늘 쓴 일기를 보고, 추억할머니가 과거의 유사한 일기를 언급하며 추억을 회상해 준다.
이 과정에서 VectorDB와 RAG 기법을 적용하였다. 사실 3번은 없는 기능이었는데, 해커톤에 참여한 팀들 중 우리와 비슷한 서비스를 보여준 팀이 너무나 많아서… 우리 팀만의 킥으로 급하게 넣은 기능이다. 그런데 꽤 재밌게 접근한 것 같아서 만족스럽다.
이러한 서비스를 프론트 개발자 2명, AI개발자 1명이서 뚝딱뚝딱 만들었다.
개발자들이 개발만 할까? 기획과 디자인도 함께 했어야 했다.
기획도 뚝딱
디자인도 뚝딱
(사실 말만 뚝딱.. 모두가 고생하면서 만들었다)
사실 해커톤에서 수상을 하는 등 이럴듯한 성과는 없었지만, 바쁜 직장인 3명이서 10일 만에 동작하는 서비스를 만들 것 자체가 대단한 것 아닌가! 그리고 우리가 직접 배운 프롬프팅 방법을 적용해 볼 수 있었다니, 너무 멋진 경험이었다.
2. 인사이드그램으로, 기술 밋업을 발표하다.
해커톤이 끝나고 나서는, 프로젝트에 LLM을 어떻게 활용했는지 기술 밋업을 발표할 수 있는 기회가 생겼다. 애정이 가는 프로젝트기도 했고, LLM기술을 적재적소에 잘 적용한 것 같아서 발표자로 참여했다. 발표 영상과 네이버클라우드에서 직접 발행한 글을 아래에서 볼 수 있다.
✔️ 스터디를 돌이켜 봤을 때,
프롬프트 엔지니어링은 기본 소양이 될 것
이번 스터디 구성원들을 보면, AI 개발 관련 직종은 오로지 나뿐이었다. 처음에는 의아하기도 했지만, 내가 좁은 시야를 가지고 있었단 걸 느낄 수 있었다. 프롬프트 엔지니어링, 이것이 꼭 AI 개발에 국한된 것인가?
본인이 원하는 정보를 정확히 뽑을 수 있도록 하는 것, 이것이 프롬프트 엔지니어링의 필요성이다. 이제는 분야를 막론하고, 모두가 가지고 있어야 할 기본 소양이 될 것이다. 동시에, 앞으로도 새로운 기술들을 등장할 텐데, 내 분야가 아니라고 등한시하기보단, 즐기며 배워야 할 시대인 것 같다.
굳이 아쉬운 점을 하나 꼽자면
대부분의 스터디 활동이 비대면이라는 점이다. 2달의 기간 동안 2회 정도 우아한 형제들의 공간을 대여해서 대면으로 스터디를 진행할 순 있었지만, 이 횟수가 적게만 느껴졌다. 나는 다른 개발자들을 만나는 걸 몹시 즐기기 때문이다..
- 그들은 주로 어떤 일을 하고 있는지,
- 어떻게 협업하고 어떻게 다투는지(?..)
- 개발 외적으로 앞으로 또 어떤 걸 해보고 싶은지 등
생각을 나누고 싶은 것들이 너무나 많은데, 이러한 대화는 또 비대면으로는 쉽게 주고받기가 힘들다. 그렇지만 이건 또 다양한 창구로 해결할 수 있는 점이라 ‘굳이 작성한 아쉬움’이긴 하다.
어쨌거나 나에게 많은 컨텐츠를 안겨준 우아한 스터디에게 감사하다.
또 7인의 구성원들도 모두 다 멋진 사람이었다🤠
언젠간 또 만나게 될 일이 있을 것만 같다.
(실제로 또 만날 일이 있었다!)
'Tech > Generative AI' 카테고리의 다른 글
RAG 시스템을 효율적으로 최적화하는 방법 (feat. AutoRAG) (6) | 2024.10.26 |
---|---|
Rag : 나만의 LLM을 만들자 (0) | 2024.03.03 |
GPTs, 나의 과거 프로젝트를 구현하다. (0) | 2024.01.21 |
[StableDiffusion] Virtual Try On : AI로 원하는 옷 입히기 (1) | 2024.01.07 |
[Stable Diffusion] ControlNet이란? ControlNet의 종류 (1) | 2023.09.16 |