안녕하세요? PSE(Platform Server Engineering) 파트 DevOps 이정민, 빅데이터센터 AI Lab ML engineer 박민규입니다. 이렇게 2명은 2023 AWS re:Invent를 다녀왔는데요, event 참관기를 들려 드리려 합니다!
목차는 다음과 같습니다.
1. AWS re:Invent 소개
2. AWS re:Invent를 준비하며(Tip 포함)
3. 현장 소개
4. 인상적이었던 세션 소개
1. AWS re:Invent 소개
AWS는 다양한 크기의 이벤트들을 개최하지만, 그중에서도 주목할 만한 메이저 이벤트는 세 가지입니다. 이 중 re:Inforce는 클라우드 보안, 컴플라이언스, 신원 및 프라이버시에 초점을 맞춘 행사로, 규모는 크지 않지만 매년 그 중요성이 커지고 있습니다. 반면, re:Mars는 Machine Learning (ML), Automation, Robotics, 및 Space (MARS) 분야에 중점을 두고 있어 기술의 최전선을 엿볼 수 있는 장입니다. 그러나 이 모든 것을 아우르는 가장 크고 포괄적인 이벤트는 바로 re:Invent입니다.
re:Invent는 AWS가 제공하는 모든 솔루션에 대해 다루며, 그 규모와 다양성에서 독보적입니다. 일반적으로 미국 네바다 주 라스베가스에서 열리는 이 이벤트는, 그 크기만큼이나 화려하고 방대합니다. re:Inforce와 같은 작은 이벤트들이 해마다 장소를 옮기는 것과 달리, re:Invent는 라스베가스의 메인 호텔들의 세미나룸을 전용으로 사용할 정도로 대규모입니다. 특히, 이번 2023년 re:Invent는 AI/ML에 큰 비중을 두었습니다. 다양한 세션들 중에서도 Amazon Bedrock에 관한 내용이 주목을 받았습니다.
2. AWS re:Invent를 준비하며(Tip 포함)
저희 드라마앤컴퍼니는 MSP 메가존클라우드와 파트너십을 맺고 있고, 메가존클라우드와 함께 이번 2023 AWS re:Invent를 참석하게 됐습니다. 메가존클라우드에서는 드라마앤컴퍼니 담당 매니저를 배정하여 비행기 예약, 호텔 예약 등 현지에서 필요한 부분들을 지원해주었습니다. 다만 event에서 들을 세션을 예약하는 것은 개인이 해야 하기 때문에 관심있는 세션을 놓치지 않고 예약하는게 중요합니다. re:Invent를 제대로 즐기기 위해서 세션 예약하는 방법과 Tip을 소개합니다.
1) 세션 예약 날짜와 시간 잘 check하기
세션 예약 일시에 대한 정보가 공식 홈페이지에 잘 안 보일 수 있으니 한국 AWS 공식 사이트나 커뮤니티를 잘 확인하고 회원가입 할 때 사용한 이메일도 잘 확인하여 정확한 예약 일시를 확인합니다. 예약이 시작되면 실시간으로 인기있는 세션들은 금방 예약이 완료되니 우선순위에 따라 개인의 전략대로 예약하는 것을 권장드립니다! re:Invent는 미국에서 열리기 때문에 예약 일시도 보통 미국 시간에 맞춰서 정해집니다. 그래서 한국 시간으로는 새벽에 예약해야 한다는 것..! 잊지 말아 주세요.
2) 동선에 따른 세션 즐겨찾기
공식 홈페이지에서 로그인하고 세션 목록을 즐겨찾기 해놓으면 예약할 때 바로 내가 원하는 세션을 골라 예약할 수 있습니다. 그런데 라스 베가스 strip(도시 중심부에 위치한, 세계적으로 유명한 호텔, 카지노, 레스토랑, 쇼핑몰, 엔터테인먼트 장소가 밀집된 지역)에서 세션이 열리는 호텔들이 멀리 떨어진 경우도 있고 호텔도 워낙 커서 세션장을 옮겨 다니는 데도 여유가 필요합니다. AWS에서는 참석자들의 편의를 위해 호텔에서 호텔 간의 셔틀 버스를 제공해줍니다. 그래서 하루 안에 너무 많은 호텔을 이동하는 것은 비효율적이고 1개에서 2개 정도 호텔을 골라 세션을 예약하는 것이 좋습니다. (아래 Figure 1을 보면 베니션, 시저스포럼은 가깝지만 만달레이베이와는 거리가 꽤 됩니다!)
Figure 1. AWS re:Invent Campus Map
3) 티켓 구매 후 내 사진 등록하기
온라인으로 티켓을 구매한 뒤에 자신의 사진을 등록할 수 있습니다. 이 사진은 현장에서 수령받는 뱃지에 이미지로 들어가게 됩니다. 아래는 현장에서 수령한 뱃지를 찍은 사진인데요, 저(민규)는 사전에 사진을 등록하는 것을 깜빡해 현장에서 급하게 사진을 찍었습니다. 사람들의 뱃지를 보면 다들 멋진 사진을 미리 등록했던데 저는 그러지 못해 아쉬웠습니다.
Figure 2. 수령한 뱃지
3. 현장 소개
1) 현장 분위기
IT 관련 event 중 거의 가장 큰 event인 만큼 현장의 규모는 압도적으로 느껴졌고, 그 규모를 모두 감당하기 위해 이뤄지는 시스템은 상당히 효율적이었습니다. 처음 등록 할 때 뱃지와 후드를 수령하게 되는데 매우 빠르게 진행되다보니 사람들이 많아도 기다리는 시간이 길지 않았습니다. 등록한 사람들 한정으로 제공하는 무료 식사와 간식을 먹는 데도 수월했고 호텔 간 이동도 매우 편리했습니다. 여러번 event를 진행하면서 쌓인 노하우가 느껴졌던 것 같습니다. Event 기간 동안 느낀 불편함은 전혀 없었기에 세션에 집중할 수 있었고 event를 오로지 즐길 수 있었습니다.
AWS re:Invent 기간동안 strip에는 re:Invent에 참여하는 엔지니어들로 가득 차있었습니다. 지나가는 대부분의 사람들이 뱃지를 목에 걸고 있었고 특히 참여자들에게 굿즈로 나눠주는 기모 후드집업을 다들 입고 다녀서 약간의 소속감(?)을 느낄 수도 있었습니다. 물론 화려함으로 유명한 도시 답게 패셔너블한 사람들도 종종 보였지만 전세계의 너드들이 도시를 가득 채우고 있다보니 신기하기도 하고 재밌기도 했습니다. 그렇게 도시에 같은 목적을 가진 사람들이 많이 있다보니 좋았던 점도 있었는데요, 처음 도시를 적응 할 때 도움이 많이 되었습니다. 뱃지를 수령하러 갈 때나 호텔 간의 이동을 할 때 길이 복잡해서 찾기가 어려운 상황이 발생 했는데 후드티를 입은 사람들이 가는 길을 따라가다보면 자연스럽게 제가 원하는 장소에 도착해있기도 했습니다! 저희가 묵었던 호텔은 시저스팰리스라는 호텔이었는데요, 숙소에서 세션장이 모여있는 베니션 호텔이나 시저스포럼은 거리가 가까워서 걸어 다녔습니다. 그런데 가는 길이 어렵다 보니 조금 헤매기도 했습니다. 가는 길이 여러 방법이 있어 가장 짧게 걸리는 길을 미리 파악해 놓는 것도 도움이 되니 현장에 일찍 도착하셨다면 미리 투어를 해보시는 것을 추천해 드립니다!
Figure 3. 시저스 포럼 내부 통로 / Figure 4. 세션장 내부 분위기
2) 세션장 소개
세션을 시작하기 전에 AWS 행사장에 도착하면, 예약자와 미예약자로 나누어진 두 줄에 서게 됩니다. 인기 있는 세션의 경우, 일찍 줄을 서지 않으면 서 있을 공간조차 없어 세션에 참여하지 못할 수 있습니다. 실제로 정말 인기 있는 세션에는 사람들이 30분에서 1시간 전부터 줄을 서기 시작합니다. 만약 세션에 들어가지 못한다면, 화면으로 세션을 시청할 수 있는 공간이 마련되어 있으며, 각 의자에 비치된 무선 헤드셋을 통해 스피커의 목소리를 더욱 선명하게 들을 수 있습니다. 그럼에도 현장에서 직접 듣는 경험은 또 다른 매력을 가지고 있어, 이 분위기를 직접 느껴보는 것이 좋습니다. 대부분의 세션은 나중에 유튜브를 통해 들을 수 있지만, 영상 녹화를 하지 않는 세션도 있어, 현장에서 녹음하거나 슬라이드를 사진으로 찍어 기록하는 것도 좋은 방법이 될 수 있습니다. 세션은 호텔마다 주로 다루는 주제가 있어서 관심 있는 주제가 주로 오픈된 호텔에서 집중적으로 세션을 듣는 것도 좋을 것 같습니다. 한 호텔에서 여러 세션을 연이어 듣다 보면 휴식이 필요한데, 로비마다 과자나 커피 등의 다과가 제공되니 이런 휴식공간을 잘 즐기며 체력을 보충하는 것도 좋은 방법입니다!
만약 호텔이 아직 익숙하지 않아 세션장을 찾기 어려울 때는 ‘Ask me’라고 쓰인 노란 티셔츠를 입은 사람을 찾아 질문하면 친절하게 안내해줍니다. 여담으로 노란 티셔츠를 입은 분들은 대부분 라스베이거스 거주민으로 이러한 행사가 있을 때 단기 알바로 지원해 행사를 돕는다고 합니다. 세션의 종류에 따라 분위기가 다양한데, Q&A 시간을 많이 주는 활발한 세션도 있고, 거의 강연식으로 정보만 전달하고 끝나는 세션도 있습니다. 너무 듣기만 하는 세션으로 일정을 구성하면 지루할 수 있으니, 다양한 형식의 세션을 경험해 보는 것을 추천해 드립니다!
Figure 5. Ask me!를 입고있는 안내원
3) Expo 소개
Expo는 AWS의 파트너 및 기술 솔루션 제공 업체들을 직접 만나보고 체험 할 수 있는 공간입니다. 업체들은 부스를 만들어 자신들의 서비스와 솔루션을 전시합니다. 업체마다 부스 규모가 상이한데 어떤 부스에서는 자신들만의 프리젠테이션 타임을 갖고 작은 세션을 진행하기도 합니다. 저는(민규) 특히 AI와 관련된 솔루션에 관심이 있어 LightningAI나 DATASTAX와 같은 업체에서 제공하는 솔루션에 대해 이야기를 나누며 의미있는 시간을 가졌습니다. 원래 Lightning은 AI를 개발할 때 사용하는 라이브러리인데 해당 팀에서 AI 데이터, 학습, 배포 등을 편리하게 하나의 솔루션으로 관리할 수 있도록 LightningAI라는 앱을 만들었습니다. 또한, 드라마앤컴퍼니는 vector search에도 관심이 많은데 DATASTAX가 관련한 솔루션을 제공하고 있어 소개받은 기능들이 흥미롭다고 느꼈습니다.
또 눈길을 끌었던 것은 DeepRacer의 자율주행 모델 competition이었는데요, 세계 각국의 AI engineer들이 각자가 만든 강화학습 모델을 대회에 등록하고 자신의 알고리즘으로 장난감 자동차를 자율주행하도록 했습니다. 누가 더 빠르게 경기장을 도는지 rap time을 재고 순위가 실시간으로 변경되는 것을 보니 알고리즘을 만든 engineer들이 멋지다는 생각이 들었습니다.
부스를 돌아다니다 보면 각 업체에서 굿즈(Swag)를 주는데요, 보통 티셔츠를 주는 곳이 많고 스티커, 모자 등을 얻을 수 있습니다. Expo는 보통 월~목까지 진행되지만, 수요일이나 목요일 즈음에 가게 되면 제공하는 굿즈들이 품절되어 못 받을 수 있으니 굿즈에 진심이라면 일찍 Expo를 돌아보시는 것을 추천해 드립니다! 굿즈를 받을 때는 목에 걸고 있는 뱃지를 찍게 되는데요, 뱃지를 찍으면 나의 이메일 주소가 해당 업체에 등록되고 업체는 event 이후 등록한 이메일에 cold mail을 보내게 됩니다. 굿즈를 많이 수집하면 그만큼 나의 이메일 주소가 많이 노출되는 것이니 cold mail을 걱정한다면 처음 event 등록 할 때 sub 이메일 주소를 적는 편이 더 나을 것 같습니다.
Figure 6. Expo 내부 분위기
4) Networking
AWS re:Invent는 다양한 나라, 다양한 기업에의 engineer들이 모이는 곳이니 networking도 정말 중요한 부분입니다. Networking을 통해 나누는 대화에서 좋은 insight를 얻을 수도 있고 맺어 놓은 좋은 관계가 나중에 나의 업무에 도움이 될 수도 있기 때문입니다. 첫날에는 AWS 한국인의 밤이 열렸는데요. 많은 한국인이 넓은 bar에 모여 라이브 음악을 들으면서 음식을 즐기고 테이블에 앉아 networking을 했습니다. 서로 명함을 주고받고. 서로가 하는 일을 소개했고, 회사 분위기나 업무에 대한 고충 같은 이야기를 나눴습니다. 또 저희 드라마앤컴퍼니는 벤더사인 메가존클라우드에서 만든 자리에 참석하여 다양한 Engineer들을 만나 흥미로운 대화들을 나눴습니다. 낮에는 세션을 듣고 밤에는 이런 networking 자리에 참여하다 보니 체력관리도 중요하다는 것을 깨달았습니다.
진행했던 세션 중에 한국어 세션들도 몇개가 있어 참석해봤는데 거기서도 좋은 networking 기회들이 있었습니다. 세션이 마무리되고 speaker를 찾아가 몇가지 질문을 하면서 명함을 주고받고 친분을 쌓을 수 있었습니다. 심지어 비행기에서 만난 인연들도 있었는데요, 돌아가는 첫 비행에서는 AWS에서 일하는 Account Manager와 대화를 나누며 링크드인을 교환하고 두 번째 비행에서는 AI 관련 논문을 읽고 있던 soft engineer와 networking을 했습니다. 먼저 다가가는 것이 어려운 것도 있고 언어의 장벽도 있지만 이렇게 주어진 기회들을 놓치지 않고 networking에 적극적인 자세로 임한다면 돌아봤을 때 후회가 없을 것 같다는 생각이 들었습니다.
4. 인상적이었던 세션 소개
정민
마이그레이션
저는 다양한 주제의 세션들에 참가하였는데요. 첫 번째로는 얼마 전 마무리된 AWS 리전 마이그레이션 작업을 대비하기 위해 Multi-region 아키텍처 구성, Mass Migration과 관련된 세션을 여럿 참석했습니다. 다소 뻔한 얘기일 수 있지만 Multi-region 아키텍처를 잘 구성하기 위해서는 ‘모든 인프라 리소스를 코드화’하고, ‘리전 간 인프라 배포에 소요되는 시간(bake time)’에 여유를 두어야 한다는 것을 강조하였는데요. 저희도 리전 마이그레이션을 위해 모든 인프라 리소스를 Terraform으로 관리하고 있었고, 덕분에 지난 1월 무사히 마이그레이션 작업을 마무리할 수 있었습니다. (Figure 7)
Figure 7
기조연설
re:Invent에서 또 빼놓을 수 없는 것이 바로 기조연설인데요. 매일 아침 진행되는 기조연설은 AWS의 CEO, CTO를 비롯한 임원들이 등장하여 현재 AWS가 집중하고 있는 서비스와 신기능에 대한 Summary를 제공합니다. 올해에도 여러가지 흥미로운 주제가 있었지만, 특히나 LLM과 GenAI 등 AI 기술에 대한 내용이 돋보였는데요. 행사 둘째날 기조연설에서 공개된 Amazon Q는 AWS가 제공하는 GenAI 서비스로, 공개 당일에 프리뷰 버전이 AWS 콘솔에서 사용 가능하도록 바로 배포가 되었습니다. 저도 세션을 듣던 중간에 AWS 콘솔에 임베딩된 Amazon Q와 몇 마디 대화를 나눠보았는데요. 대부분의 질문에 잘 답변하는 모습을 확인할 수 있었습니다. (Figure 8)
Figure 8. Amazon Q로 네트워크 라우팅 이슈를 디버깅하는 모습(출처: https://aws.amazon.com/ko/blogs/networking-and-content-delivery/introducing-amazon-q-support-for-network-troubleshooting/)
Amazon Q
Amazon Q는 나, 혹은 우리 조직의 Private repository나 Wiki 등의 데이터와 연동하여 Personalized된 답변을 받아볼 수도 있고, Amazon Connect와 연동하여 고객센터의 상담이 더 빠르고 정확하게 진행될 수 있도록 연동하는 기능도 제공하고 있습니다. (OpenAI의 ChatGPT또한 비슷한 기능들을 모두 지원하고 있어요. 아쉬운 점은 ChatGPT는 한국어를 지원하지만 Amazon Q는 아직 한국어를 지원하지 않습니다.) 저희 팀에서도 올해 내부 로그 분석과 장애대응 Runbook에 GenAI를 통합하는 테스트를 진행할 계획을 가지고 있는데요. 더 편리한 연동을 위해 Amazon Q의 한국어 지원이 빠르게 릴리즈되기를 희망하고 있습니다.
마지막으로 리멤버가 엄청난 사용자 데이터와 뛰어난 AI 모델을 가지고 있는 만큼, 저도 자연스럽게 데이터 파이프라인과 ML 워크로드에 대한 관심을 많이 가지게 되었는데요. 이번 re:Invent를 기점으로 AWS Glue, Redshift와 같은 관리형 서비스에서 Apache Iceberg를 지원한다고 하여, Iceberg 기반의 분석 플랫폼을 구성하는 세션에 참석해보았습니다. 기존 Hadoop 시스템의 HDFS와 다르게 설계부터 S3와 같은 Object Storage를 고려하였다는 점이 인상적이었고, 이러한 장점들을 배경으로 Netflix가 Hive에서 Iceberg 생태계로 전환하는 과정 역시 흥미로운 주제였습니다. (Figure 9)
Figure 9
Express One Zone
또, 새롭게 출시된 S3 Storage Class인 Express One Zone에 관련된 세션에 참석했는데요. Express One Zone Class는 S3 Standard Class와 다르게, 데이터를 1개 AZ에만 저장하는 대신, 훨씬 빠른 Access 속도를 제공하는 스토리지 클래스입니다. 데이터를 1개 AZ에만 저장하기 때문에 같은 AZ에 위치한 컴퓨팅 리소스에서 접근하는 경우 데이터 액세스 속도가 빠르고, GetObject 비용이 Standard class 대비 50%까지 저렴하다는 장점을 가지고 있습니다. 세션에서는 HA가 필요하지 않고, 작은 사이즈의 분석용 데이터(ex. parquet와 같은)를 잠시 올려두는 용도의 사용을 예시로 들어주었는데요. 최근 발표된 S3 MountPoint 기능과 결합하여 어플리케이션 레이어에서도 Temporary한 파일을 로딩하는 용도로 운영하기에 괜찮을 것 같다는 아이디어를 얻었습니다. (Figure 10)
Figure 10
민규
저는 정민님처럼 여러 세션을 소개하기 보다 한 세션을 집중적으로 소개할까 합니다. 소개 할 세션 제목은 ‘What’s new in Amazon OpenSearch Service’ 입니다. 저는(민규) ML Engineer로서 AI와 관련된 여러 세션을 들었는데 저희 팀에서 사용하고 있는 OpenSearch에 대한 신기능이 있다고 하여 기대감을 가지고 참석했습니다. 해당 세션을 듣기 전까지 AI 관련 세션을 들었지만 AWS Bedrock에 대한 설명이 많고 중복되어 흥미가 떨어진 상태였습니다. 하지만 해당 세션을 듣고 다시 즐겁게 event를 참여할 수 있었고, 들었던 내용을 동료들과 공유하면 어떨까 하고 생각했습니다. 해당 세션은 AWS OpenSearch에서 새롭게 추가된 feature를 소개하는 세션이었습니다. Speaker는 두 명으로 파트를 나눠서 발표했습니다. 세션 도중 질의응답이 서로 오가는 시간도 있어 더욱 풍부하게 세션을 즐길 수 있었습니다.
Figure 11. What’s new in OpenSearch 세션 현장
OpenSearch란?
OpenSearch에 대해서 간단히 설명하자면, 2021년 오픈 소스 프로젝트로 Elasticsearch의 기능을 더욱 확장한 업그레이드 버전입니다. Elasticsearch는 검색 서비스에서 주로 사용하는 솔루션으로 빠른 검색을 가능하게 해줍니다. 구체적으로 Lucene의 역인덱스(Inverted Index) 기술을 활용하는데요, 역인덱스란 문서를 찾을 때 단어마다 인덱스(단어가 가지는 고유한 번호)를 지정해놓고 단어로 검색했을 때 해당 단어를 가진 문서를 빠르게 찾는 방법을 의미합니다. 역인덱스는 단어 기반으로만 문서를 찾기에 문서와 문서의 의미를 반영하지 못한다는 단점을 갖습니다. 이 단점을 극복한 방법이 바로 semantic search입니다. Semantic search는 검색 쿼리와 찾고자 하는 문서의 의미를 임베딩 벡터로 표현하고 벡터의 유사도 점수를 구해 점수가 높은 문서를 상위에 큐레이션 해주는 방법입니다. 보통 모든 문서 임베딩 벡터를 OpenSearch DB에 미리 저장하고, 검색 요청이 들어왔을 때 검색 쿼리 임베딩 벡터를 OpenSearch에 던져서 저장된 문서 임베딩 벡터와 계산하여 문서 목록을 뽑아주게 됩니다. 저희도 해당 기술을 활용해 공고(쿼리)에 적합한 프로필(문서)을 기업에 추천해주거나, 반대로 프로필(쿼리)에 적합한 공고(문서)를 추천해주고 있습니다. 이번 세션에서는 OpenSearch에서 제공하는 Data Engineering에 관한 부분과 Semantic Search(Search Engineering)에 관한 부분을 주로 다뤘습니다.
Data Engineering
새롭게 소개되는 Amazon OpenSearch Ingestion은 Amazon Web Services(AWS)에서 제공하는 특별한 기능으로, 사용자가 실시간 로그, 지표, 추적 데이터 등을 Amazon OpenSearch Service 도메인과 서버리스 컬렉션에 쉽게 제공할 수 있게 해주는 완전 관리형 서버리스 데이터 수집기입니다. 이 기능을 사용하면 Logstash나 Jaeger와 같은 타사 솔루션에 의존하지 않고도 데이터를 수집하고 처리할 수 있습니다. Amazon OpenSearch Ingestion은 오픈소스 DataPrepper를 사용하여 구현되며, 이는 데이터를 추적, 변환, 병합, 샘플링하는 등의 다양한 데이터 파이프라인 작업을 가능하게 합니다. 특히 DynamoDB와의 zero-ETL(integration) 통합을 통해, 사용자는 DynamoDB 테이블을 데이터 수집을 위해 직접 사용할 수 있게 되어, 데이터 처리 과정이 대폭 간소화됩니다. DynamoDB는 AWS가 제공하는 완전 관리형 NoSQL 데이터베이스 서비스로, 이를 통한 데이터 수집은 AWS Management Console에서 쉽게 설정할 수 있으며, 이는 데이터 관리와 분석 작업을 더욱 효율적이고 간편하게 만들어 줍니다. Amazon OpenSearch Ingestion을 사용함으로써, 기술적인 복잡성을 크게 줄이면서도 강력한 데이터 분석 및 검색 기능을 활용할 수 있게 됩니다.
그리고 OpenSearch에 대한 Migration Assistant에 대한 기능도 소개되었는데요, 자체 관리형 ES(Elasticsearch)나 OS(OpenSearch) 클러스터를 Amazon OpenSearch Service의 관리형 클러스터나 serverless collection으로 migration하는 데 도와주는 솔루션입니다. 기존 데이터 및 실시간 데이터를 자동으로 migration 할 수 있게 해줍니다. 특히 기존 클러스터에 방해되지 않게 migration 가능하기에 migration을 생각하고 있다면 좋은 feature가 될 것 같습니다.
Search Engineering
앞서 설명한 것처럼 OpenSearch에서는 역인덱스를 사용하는 Text Search를 넘어서 Semantic Search 기능을 제공합니다. 각 검색 쿼리와 문서는 텍스트 뿐만 아니라 이미지, 영상, 음성 등의 데이터로 이뤄질 수도 있는데요, 핵심은 semantic(의미론적) 유사성을 찾아주는 것입니다. 임베딩 벡터는 이 semantic 정보를 가지고 있습니다. 그래서 벡터 공간이라고 불리는 수학적 공간에 아래의 그림과 같이 표현 될 수 있는거죠!
그래서 Semantic Search는 Vector Search라고도 표현 할 수 있는데요, 아래의 그림(Figure?)을 보면 Vector Search의 workflow를 확인 할 수 있습니다. Raw data는 chuck(문서)로 구분되고 각 chuck는 머신러닝 모델에 의해 숫자로 이루어진 n차원의 임베딩 벡터로 표현됩니다. OpenSearch vector database에 저장되고 각 문서는 index를 갖게 됩니다. 마지막으로 검색이나 분석에 필요할 때마다 불러와 사용됩니다. AI chatbot(Figure?)으로 예를 들어보겠습니다. 사용자가 chatbot에 어떤 question을 던졌을 때 이 question text는 LLM의 모델에 입력되고 임베딩 벡터를 얻게 됩니다. 여기서 Semantic Search를 수행하여 가장 유사한 임베딩 벡터(OpenSearch에 이미 저장된)를 찾아 정렬합니다. 해당 결과를 다시 LLM에 입력하여 Question에 알맞게 다시 자연어로 출력합니다. Semantic Search 기능은 이러한 chatbot 말고도 비슷한 데이터를 빠르게 찾는 기능이 필요한 서비스라면 적용이 가능합니다.
Figure 12. Vector Search workflow
Figure 13. Chatbot workflow
추가적인 Search Engineering의 새로운 features
또한, OpenSearch는 Semantic Search와 같은 방법과 기존의 전통적인 방법(역인덱스와 같은)을 혼합해서 사용할 수 있는 Hybrid Search, AWS에서 제공하는 pre-trained 모델을 fine tuning 할 수 있는 기능, Semantic Search보다 정확도는 떨어지지만 속도와 메모리에서 이점이 있는 Sparse vector retrieval 기능, 이미지와 텍스트를 혼합해서 사용 할 수 있는 Multimodal search 기능을 새롭게 제공합니다. 특히 AWS 2023 야심작인 Bedrock은 OpenSearch와 함께 손쉽게 사용 가능합니다. Bedrock은 여러개의 Gen AI모델(Anthropic, Meta 등에서 출시한 모델들)을 지원하고 fine tuning하여 새로운 나만의 모델을 만들 수도 있습니다. S3에 나만의 데이터를 저장하고 RAG 또한 활용 할 수 있습니다. 기존에 AI 모델을 사용할 때는 외부에서 모델을 가져와 AWS 시스템에 적용하는 일이 굉장히 복잡하고 쉽지 않았다면 AWS Bedrock을 사용하면 AWS 내에서 아주 편리하고 빠르게 사용할 수 있게 되었습니다.
그 외 features
OpenSearch는 Jaeger(분산 추적 시스템으로, 마이크로서비스 아키텍처에서 소프트웨어의 성능 문제를 진단하고 모니터링하는 데 사용)를 통해서 로그를 추적하고 메트릭을 추출하는 자동화 기능을 추가하는 등 완전한 시각화 기능을 구축했습니다. 그리고 OpenSearch Assistant도 소개했는데요, 오픈소스로 제공하고 있고 아직은 베타 버전이지만 자연어를 통해서 다룰 수 있고, toolkit을 customizing 할 수 있고, AI 모델을 연결 할 수 있습니다. 그 외 Security Analytics 기능도 제공합니다. Security log 응답 시간을 줄이고 잠재적 위험을 빠르게 인지하며 이해관계자들에게 알림을 보냄으로써 빨리 대응 할 수 있도록 합니다. 마지막으로 Zero-ETL integration을 제공합니다. 오픈서치 서비스 간에 전환할 필요 없이 Amazon S3에 저장된 운영 로그를 쿼리할 수 있는 새로운 방법인데요. 대용량의 로그 데이터를 저장하고 관리하는 경우 s3에 데이터를 저장하고 오픈서치에서 인덱싱하고 분석할 수 있습니다. 인터렉티브하게 분석할 수 있고, zero etl을 통해 중복을 최소화하는 쿼리가 가능하고, 가속화 기능을 통해서 쿼리 퍼포먼스를 증가시킬 수 있습니다. 가속화 기능에는 인덱스 건너뛰기, 인덱스 포함 등이 있습니다. 복잡한 설정이나 추가 개발 없이 시각화가 가능합니다.
마무리하며
저희는 이번 행사를 통해 얻은 지식과 경험을 바탕으로 앞으로의 업무에 새로운 아이디어와 솔루션을 적극적으로 도입하고, 개선해 나갈 계획입니다. 또한, 이번 행사에서 만난 다양한 분야의 전문가들과의 네트워킹을 통해 얻은 인사이트와 연결고리를 통해 지속적인 교류와 협력의 기회를 모색할 것입니다. AWS re:Invent는 단순한 기술 컨퍼런스를 넘어서, 최신 클라우드 기술의 동향을 파악하고, 글로벌 네트워크를 확장하며, 미래의 혁신을 모색하는 중요한 장이었습니다. 이번 참관기가 AWS re:Invent에 관심 있는 분들에게 유용한 정보와 인사이트를 제공했기를 바라며, 앞으로도 계속해서 새로운 기술과 트렌드에 대해 공유하고 소통하는 기회를 가지길 희망합니다. 지금까지 긴 글을 읽어주셔서 감사합니다!