문화
Nov 20, 2024
문화
래블업의 파이콘 한국 2024 후기: lambda submit: Starbucks if submit == "duck" else None
허진호
테크니컬 라이터
Nov 20, 2024
문화
래블업의 파이콘 한국 2024 후기: lambda submit: Starbucks if submit == "duck" else None
허진호
테크니컬 라이터
안녕하세요, 래블업에서 Technical Writer로 일하고 있는 허진호입니다. 저희 래블업은 지난 10월 26일부터 10월 27일까지 수원 컨벤션센터에서 개최된 파이콘 한국 2024에 플래티넘 스폰서로 참여했습니다.
래블업의 창업 이념은 오픈소스와 큰 연관이 있습니다. 래블업의 피에는 오픈소스가 흐르고 있다고 해도 과언이 아니죠. 다양한 오픈소스들이 있지만, 그중에서 래블업은 특히나 파이썬과 인연이 깊습니다. 래블업은 asyncio를 이용하여 개발된 aiohttp와 같은 오픈소스에도 적극적으로 기여하고 있고, 파이썬 그 자체에도 기여하고 있습니다. 파이썬뿐만이 아니라 파이콘과도 인연이 깊죠. 래블업의 구성원들은 그동안 전세계 파이콘에서 다양한 주제의 발표를 해 왔고, 파이콘 한국에는 총 다섯 번 후원사로 참여하며 그 인연을 이어오고 있습니다.
이번 파이콘은 래블업에게도 뜻깊은 행사였습니다. 래블업의 신정규 대표와 김준기 CTO가 파이콘 양일 기조연설자로 나섰기 때문인데요, 신정규 대표는 'Python과 PyCon과 공룡시대와 닭들의 행성'이라는 주제로 발표를 진행했습니다. 언뜻 보면 혼란스러운 제목이지만, 진화에서 1차적으로 승리했던 공룡에 두 가지 파이썬의 성질을 비유한 것입니다. 하나는 파이썬의 급격한 성장과 1위 언어로의 등극, 그리고 엄청난 연산으로 혁신을 만들어내는 대 AI 시대의 핵심 언어라는 성질입니다. 이는 현대에서 가장 많이 소비되는 육류인 '닭'으로 연결되는데요, 특유의 접근성과 범용성으로 누구나 쉽게 배운 후에 활용할 수 있는 성질이 닭과도 같다는 뜻이었다고 하네요. 특유의 재치있는 제목과 말솜씨, 다양한 AI 생성 그림으로 청중을 휘어잡은 신정규 대표의 발표는 청중의 많은 호응을 받았습니다.
김준기 CTO는 '파이콘과 나의 10년 돌아보기'라는 주제로 발표를 진행했습니다. 총 4개의 챕터로 구성된 이번 발표는 세계 각지에서 파이콘과 함께했던 발표를 돌아보며 asyncio와 함께 했던 성장으로 시작해 확장되는 회사의 규모, 그리고 코드의 확장에 대응해나가는 과정, 어떻게 하면 다른 파이써니스타들에게 영감을 줄 수 있을지에 대해 다뤘습니다. 개발자라면 마주했던, 혹은 마주할 수 있는 문제를 쉽게 풀어내 대중의 많은 박수를 받았습니다.
래블업 조규진 선임 소프트웨어 엔지니어, 세르게이 렉시코브 리서처, 김준기 CTO
또한 조규진 래블업 선임 소프트웨어 엔지니어와 세르게이 렉시코브 리서처, 김준기 CTO가 각각 세션 발표를 진행했는데요, 조규진 선임 소프트웨어 엔지니어는 '자동화된 파이썬 웹 프레임워크 API Schema 제작기: The long way around'를 주제로 aiohttp를 사용하며 겪었던 API 문서 자동 생성의 어려움을 극복하기 위해 거쳤던 일련의 삽질기를 청중과 공유했습니다. 세르게이 렉시코브 리서처는 'Automating CLI commands execution with LLM and LangGraph: A new frontier in Python automation'이라는 주제로, 복잡한 CLI를 LLM과 LangGraph 프레임워크를 사용하여 사용자 친화적인 도구로 변환하여 사용자 경험과 운영 효율성을 향상시키는 방법에 대해 발표했습니다. 두 발표 모두 많은 청중을 모으며 뜨거운 관심을 받았습니다. 김준기 CTO 역시 세션 발표를 통해 '엔터프라이즈 공급을 위한 파이썬 엔지니어링'이라는 주제로 파이썬 앱 공급을 위한 패키징/인스톨러 개발 사례를 나눴습니다.
👨🏫 허진호: 파이콘 세션 발표 후기가 궁금합니다.
👨💻 세르게이 렉시코브: 발표를 영어로 진행했음에도 파이콘 한국 측에서 실시간 통번역 시스템을 지원해주었기 때문에 문제 없이 발표를 마칠 수 있었습니다. 세션이 끝나고 나서 몇몇 열성적인 청중들이 다가와 발표 주제에 대한 질문을 했던 점이 가장 기억에 남습니다.
'AI 그림 판독기' 이벤트 (오리와 백조 그리기)
래블업은 이번 파이콘 한국 2024의 부스 이벤트로 'AI 그림 판독기' 이벤트를 개최했습니다. 파이콘 한국 2024에 참여한 참가자들은 QR코드를 통해 개개인의 휴대전화 혹은 태블릿, 노트북에서 이벤트 페이지에 접속해 '오리와 백조'를 그려 경품에 도전할 수 있었습니다. 참여만 해도 래블업 폴딩 파우치를 받을 수 있었고, 종합 1등을 한 참가자는 스타벅스 기프트카드를 받아갈 수 있는 아주 멋진 이벤트였죠.
래블업이 행사마다 들고 다니는 스티커
왜 하필 오리와 백조냐고요? 저희가 행사에 항상 가져다니는 스티커에는 귀여운 오리와 백조가 그려져 있습니다. 이 친구들은 물 위에서는 도도하게 떠 있지만, 수면 밑에서는 물위에 떠 있기 위해 열심히 발을 휘젓고 있는 것으로 알려져 있는데요, 우리 스티커 역시 고객이 도도하게 수면 위에서 AI 서비스를 하는 동안 Backend.AI가 그 밑의 일을 담당하겠다는 비유적인 의미를 가지고 있죠.
이벤트의 내용은 간단합니다. 텍스트를 입력하면 그림을 생성해 주는 생성형 AI를 이용하여, 주어진 그림과 가장 가까운 그림을 그려내는 이벤트죠. 아마 Stable Diffusion이나 Dall-E 같은 생성형 AI 솔루션을 이용해 그림을 그려본 분들이라면 아시는 내용이겠지만, 생성형 AI는 입력에 따라 출력이 결정되는 매우 민감한 구조를 가지고 있습니다. 같은 입력값을 활용해도 매 번 출력값이 달라지기도 하고, 약간만 입력을 변형해도 전혀 다른 결과가 나오기도 하죠. 이처럼 원하는 결과물을 생성해내기 위해 생성형 AI를 가르치는 (안내하는) 과정을 우리는 '프롬프트 엔지니어링'이라고 부릅니다. 저희 부스에서 이벤트를 참여하신 모든 분들은 '나만의 작은 프롬프트 엔지니어링' 과정을 체험해 보신 셈입니다.
우리의 'AI 그림 판독기' 이벤트 백엔드 개발을 담당했던 조규진 선임 소프트웨어 엔지니어에게 개략적인 설명을 부탁드렸습니다.
👨🏫 허진호: 'AI 그림 판독기' 이벤트 페이지가 어떻게 만들어졌는지 설명 부탁드립니다.
👨💻 조규진: 'AI 그림 판독기' 이벤트 페이지 백엔드는 총 세 가지의 마이크로서비스로 구성되었습니다. 첫 번째는 WAS (Web Application Server), 두 번째는 이미지 생성 파이프라인, 세 번째는 이미지 유사도 판별 파이프라인입니다. WAS는 사용자 데이터베이스와 이미지 생성 요청 처리 API로 구성되어 있습니다. 이 모든 마이크로서비스는 Backend.AI에서 'Model Service' 기능을 통해 배포되었습니다. 저희 리서치 팀의 세르게이님이 만드신 Visutale 데모처럼, 저희 Backend.AI에서 AI 서비스 개발의 모든 것이 가능하다는 데모의 성격으로 봐 주셔도 좋을 것 같습니다.
👨🏫 허진호: 구체적으로 어떤 프로세스를 통해 사용자의 그림과 주어진 그림과 유사도가 나오게 되는 것인가요?
👨💻 조규진: 사용자가 QR 코드를 통해 접속한 페이지에서 프롬프트를 입력, 이미지 생성을 요청하면 WAS가 이미지 생성 서비스에 텍스트를 전달하고, 생성된 이미지를 반환받습니다. WAS는 생성된 이미지를 다시 유사도 판별기에 전달하고, 유사도 판별기로부터 퍼센트로 계산된 유사도를 돌려받아 사용자에게 생성된 그림과 함께 전달합니다.
👨🏫 허진호: 어떤 기준으로 그림을 그려야 높은 점수를 받을 수 있나요?
👨💻 조규진: 이미지 유사도 판별 파이프라인이 무슨 기준으로 유사도를 판별하는지는 저도 알 수 없습니다. 아마 AI에게 직접 물어보는 것이 답변을 얻는 더 좋은 길일지도 모릅니다.
어마어마한 참여도
사실 모든 서비스를 만들어낸 당사자들이 그렇듯이 저희 구성원들은 이 이벤트를 '소소한 이벤트'라고 생각했습니다. 그러나 그 생각이 깨지는 데는 한 시간이 채 걸리지 않았습니다.
래블업 부스에는 사람들이 몰리기 시작했고, 부스 앞에는 본인의 순위를 확인하고 상위권을 사수하기 위한 사람들이 리더보드를 목빠져라 쳐다보고 있는 진풍경이 연출되었습니다.
심지어 라운지에 앉아 있는 사람들이 휴대전화 화면을 뚫어져라 쳐다보며 백조를 그리고 있었다는 증언도 있었죠.
통계를 살펴볼까요?
10월 26일, 27일 양일간 이벤트에 참가하신 분은 총 428분이었습니다. 해당 기간 제출된 이미지 생성 요청은 '11639'건에 달했습니다. 이 중에서 한 사람이 제출한 최대 응답은 1000여건을 훌쩍 뛰어넘어 모두를 경악하게 했답니다. (비밀은 뒤에...)
의도치 않은 부작용도...
부스에 앉아 리더보드를 살펴보고 있는 와중에 익숙한 두 개의 닉네임이 눈에 띄었습니다. 'cloudshin' 과 'achimnol' 각각 신정규 대표와 김준기 CTO가 갑자기 불이 붙어서 90% 이상의 유사도 점수를 내고 계신 겁니다. 두 분은 점심을 드시러 이동하는 와중에도 계속해서 끝없이 오리를 그려내고 계셨답니다.
보다못한 유우영 DevRel Lead님이 이를 말리고 나섰으나, 두 사람의 열정은 쉽게 말릴 수 없었다는 후문이 전해집니다. (P.S.1: 물론 점수를 집계할 때 두 분의 데이터는 강제로 지웠답니다.) (P.S.2: 사실 참가자 분들이 워낙에 훌륭하셔서 이 두 분의 점수를 손쉽게 넘어서는 압도적인 포디움을 만들어 내셨답니다...)
내부적인 부작용(?) 이외에 외부에서의 문제도 발생했습니다. 1일차 부스를 운영하던 중, 어디선가 개발자의 외마디 비명이 들립니다.
"누가 매크로를 돌리고 있는 것 같은데요?"
확인해보니 1~5초 간격으로 계속해서 동일한 프롬프트로의 중복 제출 요청이 들어오고 있었습니다. 같은 프롬프트를 넣어도 매 번 결과물이 조금씩 달라지는 생성형 AI의 특징을 이용한 매크로였죠. 그러나 문제가 식별된 당시에 서비스를 수정하기는 어려웠고, 백엔드를 담당한 개발자는 2일차 파이콘 발표가 예정되어 있었기에 즉각 대응이 어려웠죠. 상황은 점점 나빠져만 갔습니다.
"제출이 안돼요" "버튼이 안 눌려요" "이미지가 대신 회색 빈 칸만 나와요"
개발자들의 축제인 파이콘답게, 누군가는 노트북으로 우리 사이트를 열고, 개발자도구를 보여주며 요청이 들어가고 있지 않은 것 같다고 이야기해주기까지 했습니다. 발표준비를 하러 구석에 숨어있는 개발자를 찾아갔고, 아까의 매크로가 우리의 H100을 향해 엄청난 양의 리퀘스트를 쏟아내고 있었습니다. 그렇게 매우 느린 속도로 이미지를 제출하고 있는 사람들을 뒤로 하고 1일차 행사가 끝났습니다. 부스를 정리하며 1일차 Recap을 진행했고, 2일차 행사에는 이런 문제를 원천적으로 막아야 한다는 결론이 도출되었습니다.
불쌍한 개발자는 2일차 행사를 위해 밤을 새워가며 발표 준비도 미루고 두 가지의 새로운 기능을 추가해 이런 사태를 미연에 방지하고자 했답니다.
첫째, 동일 프롬프트 제출 방지 기능 추가
서버단에서 제출한 프롬프트를 검증하는 기능을 추가했습니다. 동일한 프롬프트가 제출된 이력이 있는 경우, 새로운 이미지를 그리지 않고 최초 생성된 이미지와 해당 이미지의 유사도 점수를 그대로 응답하도록 변경했습니다.
둘째, 이미지 제출 시 캡챠 추가
매크로를 방지하기 위해 응답 제출 시 캡챠를 누르도록 변경했습니다. 참가자들이 약간 더 귀찮아지긴 했겠지만, 캡챠를 추가한 것으로 행사 2일차에는 무작위 매크로가 발생하지 않았답니다.
그 외 소소한 개선 사항들
참여자의 등수 계산을 위해 꽤 자세한 소숫점 단위까지 받아오고 있었지만, 사용자 편의상 GUI상에서는 소숫점 첫째 자리에서 잘라 보여주고 있었습니다. 그러나 경쟁이 과열되며 소수점 첫째 자리까지 똑같은 점수를 받은 사람들이 나타나기 시작했죠. 이에 따라 사용자들의 혼란을 줄이기 위해 소숫점 둘째 자리까지 GUI상에 보여주는 패치를 진행하기도 했습니다.
성공적인 이벤트를 위해 불철주야 백엔드를 담당해준 조규진 선임 엔지니어와 김수진 프론트엔드 엔지니어에게 감사의 말씀을 전합니다 🙂
파이콘 한국 2024를 마무리하며
수많은 파이써니스타 분들이 파이콘 한국 2024를 찾아주셨고, 래블업도 수많은 파이써니스타 분들을 만나러 현장에 함께했습니다. 래블업은 앞으로도 끊임없이 오픈소스 커뮤니티에 기여하고, 함께 성장해나갈 것입니다. 최근에 큰 인기를 끌었던 <흑백요리사>라는 프로그램에서 정지선 셰프가 이런 말을 합니다. "저는 레시피를 오픈해요. 레시피를 오픈하면 그만큼 레시피가 또 생겨요. 사람들이 아이디어를 많이 제공하거든요. 큰 그림을 그리는 거죠."
래블업도 언제나 우리를 이루고 있는 근간인 오픈소스 정신을 잊지 않고 계속해서 큰 그림을 그려나가겠습니다.