주의 : 본 회고의 모든 내용은 글쓴이(수리링) 본인이 처음부터 끝까지 직접 작성했습니다. 본 회고를 참고하시거나 활용하실 분들께서는 반드시 사전에 댓글 또는 이메일로 목적을 설명하시고 글쓴이의 동의를 구하시기 바랍니다.
(이메일 : niceonesuri@gmail.com)

[목차] 
1. 기조 연설 회고
2. AWS 생성형 AI 체험 & 기업 부스 회고(kt ds)
3. 데이터분석 강의 회고
4. 깨알 보너스 (공짜 점심, 자격증존, etc)

2024년 5월 17일 (금) 서울 코엑스에서 열린 AWS Summit Seoul에 참여했습니다. 올해 써밋 서울은 16-17일 2일간 열렸는데요, 저는 현재 참여중인 SK플래닛 T아카데미 수업과 팀프로젝트 일정으로 인해 양일 모두 참석하긴 어려워 금요일 하루만 참석을 했습니다. AWS CCP 자격증을 취득한 이후로 아마존의 클라우드 서비스와 클라우드 엔지니어링에 아주 큰 흥미와 호기심을 가지고 있었던 저에게는 꿈만 같은 하루였는데요. 제가 참여한 2일차 AWS Summit Seoul에서 느낀 3가지 키워드를 말씀드리면 다음과 같습니다.

비용 절감, 지속 가능성, 생성형 AI


AWS의 다양한 서비스가 기업에 제공하는 비용 절감 효과, 지속 가능성에 대한 끝없는 도전과 추구, 마지막으로 다양한 생성형 AI 기술을 통한 성장과 혁신. 이 3가지 키워드가 계속해서 강조되었습니다.
본 포스팅에는 위 3가지 측면에 입각하여 2024 AWS Summit Seoul에서 기억에 남았던 부분에 대한 요약과 함께 느낀점 회고 형식으로 작성해 보도록 하겠습니다 :-)


1. 기조 연설

[1] The Frugal Architecture

AWS CTO Werner Vogels는 Frugal Architecture (절약형 아키텍처)의 중요성에 대해 강조하면서 클라우드 환경에서 비용 효율성이 얼마나 중요한지 이야기했습니다. 클라우드 환경은 기업의 하드웨어 제약을 제거하여 서비스의 개발과 배포 속도를 혁신하는데요, 이렇게 클라우드가 가져다 주는 비용 효율성과 지속 가능성을 기업들이 우선순위로 두고 핵심 제약사항으로 고려해야 한다고 힘주어 말했습니다. 그리고 이를 실현하기 위해 아키텍트로서 가져야 할 철학과 접근 방법에는 무엇이 있는지 제시했습니다. 직접 아래와 같이 간단하게 정리해 보았습니다.

  1. 비기능적 요구사항으로서의 비용: 보안 및 규정 준수와 마찬가지로 비용을 비기능적 요구사항으로 보고, 비즈니스 초기부터 이를 아키텍처에 반영해야 합니다.
  2. 비즈니스 비용에 맞는 시스템 설계: 시스템은 수익 창출 요인을 중심으로 설계되어야 하며, 규모의 경제를 통해 시간이 지남에 따라 비용을 줄일 수 있어야 합니다.
  3. 타협과 균형: 아키텍처는 비용, 탄력성, 성능 등의 요소 간의 타협을 통해 균형을 맞추는 것이 중요합니다.
  4. 측정과 관찰: 중요한 지표를 측정하고 회사 모든 구성원이 볼 수 있도록 하여, 측정을 통해 비용을 통제하고 최적화해야 합니다.
  5. 지속적인 최적화: 비용 최적화는 지속적인 질문과 분석을 통해 이루어져야 하며, 작은 최적화가 누적되어야 큰 개선 효과를 볼 수 있습니다.
  6. 끊임없는 도전: 자만하지 말고 끊임없이 변화하고 탐구해야 비용 효율적인 대안을 찾을 수 있습니다. "우리는 이렇게 해왔다"는 위험한 생각을 버리고 새로운 방법을 모색해야 합니다.

AWS CTO의 연설 이후 이어서 우리나라 스타트업 기업 '인프랩(Inflab)' 이동욱 CTO의 이야기를 들어볼 수 있었는데요, AWS 서비스를 어떤 식으로 사용하는지, 다양한 서비스 중에서 상황과 비용 최적화에 적절한 서비스를 어떻게 선택하는지, 사업을 키워 나가는 과정에서 비용이 차지하는 부담을 어떻게 줄이고자 어떤 고민을 하고 어떤 방법을 도입했는지 들어볼 수 있었습니다. 가장 많은 비용을 사용하는 리소스는 무엇인지 지속적으로 기록하고 회고하며 비용을 절감하고 문제를 개선해 나갔다는 이동욱 CTO의 말을 통해 역시 기록의 힘은 어디에서나 통하는구나, 나도 기록을 멈추지 말아야지 생각했어요.
또 일정 시간만 운영하는 서비스의 경우에는 서버리스 서비스가 적절하지만, 24시간 가동될 필요가 있는 서비스는 서버리스보다는 직접 서버를 운영하는 것이 효율적일 수 있다는 이야기가 특히 흥미로웠습니다. AWS의 서버리스 컴퓨팅을 사용하면 서버 프로비저닝, 확장 및 관리의 필요없이 애플리케이션과 서비스를 구축하고 실행할 수 있어 유용한데요. 저는 AWS CCP 자격증 준비를 하면서 AWS Lambda, Fargate, DynamoDB, Kinesis 등 다양한 서버리스 서비스들의 종류와 특징에 대해 파악했었는데, 언제 어떤 식으로 서버리스 서비스를 선택해야 기업에 큰 이득이 될까 항상 궁금했었거든요. 평소 궁금했던 내용에 대한 답변이 되어서 이동욱 CTO의 연설이 특히 귀에 쏙쏙 들어왔습니다. 실제로 기업에서 아마존 웹서비스의 서비스를 어떤 기준으로 선택하고 활용하는지 사례를 통해 들어볼 수 있어서 좋았습니다.


[2] platform engineering

카카오페이증권의 조지훈 실장이 플랫폼 엔지니어링에 대해 발표했습니다. 강의에 따르면 플랫폼 엔지니어링은 협력과 자동화를 통해 사용자 경험을 향상시키고 조직의 생산성을 높이는 데 중점을 둔다고 합니다. 또 사용자와 제품의 관점에서 플랫폼을 디자인하고 개발하여, 비즈니스 경쟁력을 강화하고 확장할 수 있는 다양한 방법을 고려합니다. 특히 클라우드 엔지니어들은 다양한 구성원들과 협업을 통해 플랫폼을 만들어가는 과정을 공유하고, 인프라와 프로세스를 개선하며, 고객의 경험에 집착하며 신뢰를 얻어가는 과정을 즐겨야 한다고 말했습니다.
저는 현재 데이터 사이언스를 공부하며 데이터 사이언티스트로서 성장을 도모하고 있습니다. 하지만 소프트웨어 엔지니어링에도 큰 관심과 뜻이 있어서 고려사이버대학교 소프트웨어공학과에 편입해 공부를 병행하고 있어요. Linux OS, 소프트웨어 공학, 데이터 엔지니어링 등 다양한 분야를 탐구하며 엔지니어로서의 역량도 함께 키우고자 열심히 노력하고 있는데, 조지훈 실장님의 연설을 듣고 나서 데이터에 특화된 클라우드 엔지니어로서도 꿈을 펼쳐보고 싶다는 큰 욕심이 생겼습니다. 특히 저는 문제를 발견하고 정의하고 해결하는 과정을 정말 정말 즐기기 때문에, 고객의 관점에서 문제를 해결할 수 있는 플랫폼 엔지니어, 클라우드 엔지니어로서도 잘 해낼 수 있겠다는 생각이 들었습니다. 계획한 대로 AWS Certified Data Engineer Associate 자격증도 6월에 취득하고, 계속해서 관련 역량을 키워야겠다고 한 번 더 다짐했어요. 소프트웨어는 정말 공부를 하면 할수록 어쩐지 더 멀어지고 깊어지는 망망대해 같다는 생각이 들기도 하지만, 그래서 더 매력적이고 중독적인 분야인 것 같습니다. 


[3] generative AI 

이어서 생성형AI에 대한 연설이 이어졌는데요. AWS Nitro System architecture, Bedrock, Q, Partyrock 등 AWS가 제공하는 다양한 생성형 AI 서비스가 기업에 가져다줄 혁신과 발전, 성장에 대한 큰 자신감을 엿볼 수 있었습니다.
특히 Amazon Bedrock 서비스가 제일 흥미롭더라구요. 검색 증강 생성(RAG)을 위해 Amazon Bedrock의 관리형 지식 기반을 사용하거나 Amazon Bedrock 에이전트를 통해 workflow를 자동화하여 복잡한 과제에 대해 수많은 LLM을 사용할 수 있다는 부분이 인상적이었습니다. CCP 자격증을 공부하면서 배운 바에 따르면 Amazon Bedrock은 서버리스 서비스거든요. 기업이 인프라나 서버를 관리할 필요가 없을 뿐더러, 이미 익숙한 AWS 서비스를 사용하여 생성형 AI 기능을 애플리케이션에 안전하게 통합하고 배포할 수 있는 장점이 있다니, 내가 기업의 수장이고 생성형 AI 기술을 도입하고자 한다면 Bedrock을 써보지 않을 이유가 없을 것 같았어요. 해당 기조연설을 통해 저는 Bedrock에 대해 더 공부할 수 있는 데이터분석 강의를 오후에 듣기로 결정했습니다! 궁금한 게 생기면 바로바로 배워야죠!
기조 연설을 다 듣고난 후, 저는 AWS의 다양한 생성형 AI 기술을 직접 체험해보기 위해 체험 존으로 바로 달려갔습니다.


2. 체험존

[1] AWS 생성형 AI 체험

2024 AWS Summit Seoul에서는 AWS의 다양한 생성형 AI를 직접 체험해볼 수 있었습니다.

내가 고른 테마로 프로필 사진을 생성해주는 AI - 실물 얼굴의 특징이 잘 살아있습니다.
재밌는 중세시대 테마로 갤러리를 만들어주었던 부스 - 저는 브라질 열대우림의 부족 출신이랍니다.
강아지와의 음성 대화를 통해 교감을 하고 점수를 얻는 즐거운 게임! 아쉽게도 3등을 해서 에코백 선물을 받지는 못했습니다. 음성을 꽤나 잘 인식하고 챗봇도 잘 작동해서 재밌었어요.
게임 이후 Quicksight를 이용해서 시각화 대시보드를 만들어 설명해 주셨습니다. 저 진짜 제가 만든 모델로 Quicksight 너무 사용해보고 싶습니다......

이 밖에도 즐거운 체험존이 많았고 다양한 체험에 참여했는데, 사람이 정말정말 많아서 모든 것을 다 찍고 기록하기가 어려웠습니다. 체험존에서는 AWS의 혁신적인 서비스의 극히 일부분만 체험할 수 있었음에도 불구하고 정말 즐거웠습니다. 재밌게 체험에 참여하는 사람들의 웃음소리와 열정적인 분위기가 아직도 기억에 선명합니다. (나도 이런 혁신에 참여할 수 있는 인재가 되길 바라며...)


[2] 기업 부스 체험

기업 부스는 다양하게 체험했는데, 기억에 남았던 서비스 위주로 회고를 작성해 보겠습니다.

설명을 들었던 많은 기업의 서비스 중에서 가장 기억에 남는 1가지를 꼽으라면 kt ds의 AI:ON-U 서비스를 꼽고 싶습니다. AI:ON-U(이하 AI온유)는 코딩이나 소프트웨어 지식이 없는 업무 담당자가 쉽게 생성형AI를 도입할 수 있도록 돕는 서비스 였는데요, 특히 GUI 환경에서 손쉽게 고객상담 챗봇 서비스를 제작하고 배포할 수 있는 예시를 들어 설명을 해주셨던 것이 아주 인상깊었어요. 담당하셨던 직원분께서 설명을 이해가 쏙쏙 잘되게 기깔나게 해주셔서 더더욱 흥미로웠던 것 같습니다. 게다가, kt ds의 AI온유 설명을 들은 이후에 데이터분석 강의(AWS 벡터 데이터베이스 사용 모범사례)를 이어서 들었더니, AI온유의 전체적인 서비스가 어떻게 구성되었는지 더욱 이해가 되고 말았습니다! 내 머릿속에 구체화되는 벡터 데이터와 그 흐름...!!! 검색 증강 서비스(RAG)와 벡터 데이터 베이스....!! (오버 죄송합니다)
챗봇 서비스를 도입하고 싶지만 AI 서비스 개발을 위한 지식과 노하우가 부족하고 전문 인력이나 인프라 구비가 어려운 비즈니스 구성원들에게 AI온유가 시간과 비용을 절감해줄 수 있겠다는 생각이 들었습니다. 제가 생각했을 때 이번 2024 AWS Summit Seoul이 가장 강조하는 3가지 - 비용 절감, 지속 가능성, 생성형 AI - 이 모든 관점에서 고객의 문제점을 해결해줄 수 있는 멋진 서비스라고 생각했어요.
만약 제가 럭키비키하게 해당 기업에 취업하게 된다면 해당 서비스를 구축하는 데 필요한 데이터베이스 관리 및 보안에 참여해 보고 싶습니다. 또, 서비스에 사용하는 다양한 LLM 모델의 API를 관리하는 코드도 작성해 보고 싶어요.


[3] 데이터분석 강의

벡터 데이터베이스 사용 모범사례

해당 강의에서는 생성형 AI에서 벡터 데이터베이스를 어떻게 사용할 수 있는지 그 방법과 모범사례를 통한 전략을 설명했는데요, 다른 많은 강의 중에서 해당 강의를 선택한 이유는 위에서 언급한대로 기조연설을 들으면서 Amazon Bedrock에 관해 큰 흥미가 생겼기 때문이었어요. 머신 러닝 모델을 구성하기 위해서는 굉장히 방대한 양의 데이터 수집과 학습이 필요하고 또 이를 위해 막대한 컴퓨팅 파워와 시간이 필요한데, 이를 서버리스로 관리해주는 서비스가 바로 Amazon Bedrock이거든요. 베드락의 큰 장점 중에 하나가 바로 기존 AWS 환경에 구축해 두었던 RDS, Aurora 등의 데이터베이스를 인터페이스를 통해 활용할 수 있는 것이라고 해서, 이 과정에서 벡터 데이터가 어떻게 활용되는지 자세히 알아보고 싶었어요.
그럼 본격적으로 강의 내용을 한번 쌈빡하게 정리해 보도록 하겠습니다.


[1] 생성형 AI 개요 및 데이터베이스의 역할

생성형 AI는 파운데이션 모델을 기반으로 합니다. Amazon Bedrock은 파운데이션 모델을 사용하여 생성형 AI 어플리케이션을 구축하고 확장할 수 있도록 돕는 서비스입니다. 서버리스이기 때문에 인프라나 서버를 관리할 필요가 없고, API를 사용하여 간단하게 개발을 할 수 있어요. 특히 검색 증강 생성(RAG) 기술을 이용하여 회사의 데이터와 상호작용할 수 있도록 FM을 구성할 수 있다는 것이 엄청난 장점인데요.
우리가 가지고 있는 파운데이션 모델에 어떤 질문을 한다고 가정했을 때, 아직 학습하지 않은 내용을 질문한다면, 파운데이션 모델은 우리가 원하는 답을 찾이 못할 가능성이 있습니다. 이런 단점을 보완하기 위해 파운데이션 모델에 더해 우리가 기존에 가지고 있는 Knowledge Base를 이용해볼 수 있는데요. 만약 Knowledge Base 안에 내가 궁금해했던 데이터가 마침 있다면, 파운데이션 모델과 연동해서 사용해서 원하는 답을 얻을 수 있겠죠. 이게 바로 검색 증강 생성(RAG)의 힘입니다. 즉, 우리 모델을 파인튜닝하거나 추가 학습시키지 않고도 벡터 데이터를 활용해 더 나은 기능을 구현할 수 있게 되는 것이죠.
벡터 임베딩이 사용되는 방법은 다음과 같습니다. Knowledge Base에 pdf 파일이 하나 있다고 가정해 봅시다. 이 파일의 데이터를 여러개의 청크로 나누어 아마존 타이탄과 같은 임베딩 모델에 던져줍니다. 타이탄은 이것을 분석해서 데이터를 벡터화하고, 이 벡터화된 데이터를 빠르게 재사용하기위해 RDS, Aurora와 같은 (벡터베이스 저장이 가능한) 데이터베이스에 저장을 합니다. 이후 사용자가 관련 내용을 검색했을 때, 검색한 내용 역시 벡터화해서 우리의 데이터베이스에서 벡터 서치를 실행하고, 그 결과를 파운데이션 모델에게 벡터로 전달해주게 되면, 그 모델은 마지막으로 자연어 처리를 한 값을 사용자에게 응답하게 되는 것이죠.


[2] 벡터 저장소로서의 PostgreSQL & pgvector 전략

먼저 PostgreSQL은 무료로 사용할 수 있는 오픈 소스 데이터베이스입니다. PostgreSQL은 다양한 데이터 타입과 인덱스 방식을 지원하는데, 확장 기능을 통해 새로운 기능을 손쉽게 추가할 수 있는 뛰어난 확장성을 자랑합니다. pgVector는 PostgreSQL의 확장 기능을 활용하여 벡터 데이터 저장, 인덱싱, 검색 등을 수행합니다.
pgVector는 토스트(TOAST)를 활용한 데이터 저장 최적화 전략인 Storage 전략을 취합니다. TOAST(The Oversized-Attribute Storage Technique)란 보통 기준값(평균 8KB)보다 큰 데이터를 저장하는 메커니즘을 의미하구요. 데이터를 저장하는 최소의 단위를 8KB라는 페이지로 구성하고, 여기에 로우 단위로 데이터가 들어가며, 그 로우의 컬럼이 2KB가 넘어가는 경우에 이것들을 페이지 안에 인라인으로 저장하지 않고 토스트 테이블에 별도로 저장하게 해주는 기능- 정도로 생각하면 됩니다. 토스트를 잘 관리하기 위해서는 테이블의 스토리지 타입을 plain(토스트 없음)으로 고정시키던지, postgress 파라미터 중에서 min_parallel_table_scan_size을 사용하여 더 많은 병렬을 유도하는 방법이 있습니다. 참고로 컬럼 스토리지 타입은 4가지 인데, 토스트가 없는 Plain, 기본값으로 토스트가 있고 임계값이 2KB인 Extended, 임계값 초과 시 toast 테이블에 데이터를 저장하는 External, 테이블에 인라인으로 압축하여 저장하는 Main까지 해서 4개입니다. pgVector의 경우 Plain과 External을 주로 사용합니다.
Storage 전략에서 더 나아가서 pgVector는 유사성 검색을 위한 효율적인 인덱싱을 위한 HNSW 전략, 클라우스 알고리즘을 활용한 인덱싱 방법으로 IVFFlat 전략, 마지막으로 ANN 쿼리를 위한 pgVector 필터링 전략을 취하고 있습니다.


[3] pgVector 로드맵

pgVector에 이제 HNSW용 병렬 구축 생성 기능이 추가되었으므로, 기존보다 더 빠르게 인덱스를 구축할 수 있는 방법이 제공될 것이라고 합니다. 추가적으로 벡터에 스칼라 속성을 결합하여 향상된 인덱스 기반 필터링이 가능하도록 기술 개발에 힘쓰고 있으며, 디멘젼당 더 많은 데이터 유형이 지원되도록 개발이 이루어지고 있다고 합니다.


[4] 강의 회고

복잡한 개념을 명확하게 설명해 주신 점이 정말 좋았습니다. 비록 모든 내용을 100% 이해하고 기록하진 못했더라도, Amazon Bedrock의 혁신성과 pgVector의 발전 방향성에 대해서는 충분히 이해하고 납득할 수 있었습니다. 특히 벡터 임베딩과 RAG(Retrieval-Augmented Generation)과 같은 기술이 추가적인 파인튜닝 없이도 AI 모델을 개선하는 방법에 대한 구체적인 논의가 저에게는 매우 유익했습니다. 또 벡터 데이터를 저장하고 관리하기 위한 PostgreSQL 및 그 확장 기능인 pgVector에 대한 모범 사례 역시 저에게 도움이 되었는데, 이 부분에서 너무 집중하느라 메모를 많이 하지 못해 회고에는 해당 부분을 비중 있게 다루지 못해 아쉽습니다.
본 강의를 통해 (정말 궁금했던) Amazon Bedrock이 대규모 데이터셋과 복잡한 계산을 서버리스로 관리하는 방법에 대해 직관적으로 이해할 수 있었습니다. 이 강의에서 얻은 지식과 방향성을 토대로 앞으로 생성형 AI 및 벡터 데이터베이스 분야를 더 깊이 탐구하고 싶다는 욕심이 생겼어요. 그래서 학생 신분으로는 과연 Amazon Bedrock의 실용적인 응용 프로그램을 어떻게 접하고 탐구해볼 수 있을지 한번 고민해보고자 합니다.


[4] 보너스 tmi

  1. 선착순으로 런치 쿠폰 준다그래서... 부끄럽지만 AWS밥은 무슨 맛일까 너무 궁금해서 아침 7시에 코엑스에 도착했어요 (ㅋㅋㅋㅋㅋ) 8시 땡치자마자 바로 등록하고 런치쿠폰 받았는데, 알고보니 10~11시까지도 계속 나눠주시더라는 슬픈 전설이 있습니다...
  2. 기조연설 전까지 별마당도서관에서 국문이력서랑 영문이력서 열심히 수정해서 코엑스 링코에서 프린트해서 갔는데, 아쉽게도 기업 부스에 이력서를 하나도 못 드리고 왔어요. 제가 용기가 없던 이유 반, 뭔가 그럴 분위기가 아니었던 이유 반을 변명삼아 봅니다. 경력자들이 명함 넣고 가는 통은 종종 있던데 거기에라도 꽂아넣을까 고민했지만 결국 못했습니다... 흑흑.
  3. AWS 자격증 소지자가 사용할 수 있는 작은 라운지에 무료 간식과 인형뽑기가 있었어요. CCP 자격증을 당당하게 보여드리고 과자랑 음료수를 야무지게 챙겼습니다. 정말 뿌듯한 순간이었어요... 같이 동행한 친구가 라운지 밖에서 저를 기다리고 있어서 인형뽑기는 안했는데 다음에는 친구도 꼭 자격증을 따서 함께 인형뽑기 줄을 설 수 있었으면 좋겠습니다!
  4. 참여했던 기업 부스중에 제가 인턴으로 지원했다가 서류 탈락했던 곳이 있었어요. 학생임에도 불구하고 친절하게 서비스 설명을 해주시고 '****에서 미래에 뵙겠습니다!' 라고 말씀해주셔서 은근한 위로가 되었어요. 해당 기업의 공고가 다시 보이면 자기소개서에 이 얘기를 꼭 써야겠어요.
불고기 랩 + 치킨 샌드위치 + 파스타 샐러드 + 견과류 + 훈제란 1구 + 파인애플 주스 + 호두파이.... 진짜 배불렀어요
파인애플 주스 진하고 너무 맛있었구요
특히 이 불고기랩이 진짜 실하고 단짠하니 너무 맛있었습니다. AWS 최고 ㅠㅠ
얼굴보호를 위해 블러처리 했습니다 - 자격증 소지자만 출입 가능했던 certified 존!!! 정말 친절했던 직원분 감사합니다.
야무지게 고구마말랭이 집어먹었습니다


 
이것으로 길었던 2024 AWS Summit Seoul 회고를 마치겠습니다. 만약 처음부터 끝까지 모두 읽어주셨다면 당신은 대단하고 멋진 사람이예요. 감사합니다.

+ Recent posts