본문 바로가기
인공지능 개발하기/Bootcamp & Conference 참여

[Conference]Google I/O Extended 2024 Incheon 회고

by 선의공 2024. 7. 29.

 
 
 
 
인천 송도에서 열린 Google I/O Extended 2024 Incheon을 다녀왔습니다.
내용과 느낀점을 정리하고 공유하고자 글을 작성합니다.
 




총 42분의 연사자분들이 참여해주셨고,
참가비는 아깝지 않은 4마넌이었습니다..
(지식과 티셔츠와 스티커까지 주거든요..ㅎㅎ)
 


 

컴퓨터가 세상을 보는 방식, 딥러닝 이전부터 멀티모달 AI까지 
모두의 연구소, 박광석님

 

 

1. 컴퓨터는 어떤것을 볼까? 
 

  • 이미지를 작게 줄이고, 다시 늘려보면 이들의 차이점이 있음. 고양이 수염같은 부분은 저화질이 되게 되면 사라지게 되고 남은 객체의 형체, 사이즈, 위치 등이 되며 이런 부분을 특징점으로서 사용되게 됨. 해당 특징점을 비교하며 이미지 분류를 가능하게 함.
  • Computer Vision에서는 feature을 뽑아내는 눈에 해당하는 기술과 해당 feature을 분석하고 판단하는 뇌에 해당되는 기술로 나뉨.
  • 컴퓨터의 눈: Harris corner Detector, HoG(Histogram of Oriented Gradient), Haar Cascade, SIFT, SURF, 필터 등을 사용해서 이미지의 특징을 파악
  • 컴퓨터의 뇌: Neural Network, RANSAC/SVN, Bag of word Words의 기술



2. 딥러닝

  • Google의 AlexNet이 등장해서 feature를 추출하는 것을 컴퓨터가 하도록 하는 기술을 제안 했고, VGG 모델은 AlexNet에 층을 많이 쌓아서 성능을 높임. 층을 많이 쌓을 수록 성능이 올라가므로 모델을 복잡해가고, 레이어 전후 특징 차이만 추출하자는 Resnet 모델의 아이디어가 등장(단순히 잔차연결을 통해 Gradient Error만 막는줄 알았는데..다른 관점). 해당 모델을 backbone으로 사용하고 fine-tuning, pre-train을 진행하는 아이디어 등 제시되어옴.
  • 레이어 층만 계속 쌓다보니 복잡성이 증가했고, 이미지에도 Transformer를 사용하여 parameter가 늘어나는 것을 방지하는 ViT모델 제시. 다만 ViT는 로컬리티가 깨지므로 데이터를 많이 쏟아부어 해결했다.
  •  이후 순수 CNN 모델은 실종. CNN + Transformer 사용. Multi task 모델을 사용하고 여러 테스트를 한번에 수행. 자연어를 이용하는 Vision Model인 CLIP모델 아이디어 제시. 인터넷상의 대규모 텍스트-이미지 쌍을 학습. Foundation model을 제시해 Downstream task에서 분류기만 붙여서 모델을 사용함.

 

3. 요즘의 연구

  • 얼굴 인식, Human pose estimation 등 여러 기술에서 Accuracy Score 0.84이상의 성능이 뛰어난 모델들이 이미 나와있음.
  • 기업들이 주도하고 있음. Google, Meta, MS 등 기업에서 배출하는 논문이 많이 등장.

 

4. What’s next

  • Vision Language Model, Image Captioning, Visual Grounding, Visual QuestionAnswering 등의 text와 엮인 모델들의 발전.

 

5. 문제점

  • 아이러니하게도 인간이 간단히 수행하는 저수준의 문제를 GPT, Gemini, Claude의 3대장 거대 모델에서 맞추지 못한다는 연구결과가 이번 달에 제시됨.(https://vlmsareblind.github.io/  진짜임…) => 다시 대량의 데이터로 훈련시키니까 모델이 잘 판단해냄(?)
  • 모델은 커지는데 사람들은 소형화, 맞춤형을 원함. 시대의 요구에 반대로 모델이 발전.
  • 윤리적인 문제 등으로서의 데이터 수집의 한계. 데이터를 많이 요하는 모델에 대한 해결 필요.

 
느낀점
 
 딥러닝 부분 외에 이미지 특징 추출 알고리즘에 대해서 몰랐던 부분이 많이 차지했기에 시야를 넓힐 수 있었음. 최신 모델들의 성능과 문제점을 생각해볼 수 있어 깊이감을 생각할 수 있었음. 3대장 VLM이 저수준의 문제를 풀지 못한다는 게 신기했음.. 모르는 것 투성이였으므로 재미있게 들었고 생각할 부분도 많았음.

 


 
 
Semantic Kernel로 나만의 맞춤형 Spotify 플리 만들어 보기
Microsoft, Principal Cloud 의 유저스틴님

 

 

1. Demo 설명
 

  • 프롬프트로 감정적인 문구를 넣음 ”너무 우울해서 빵샀어”를 입력하면 이 문장에 맞는 분위기의 Spotify 플레이리스트 생성.
  • DB를 가져오는 부분, Spotify API 사용 부분 외에 모든 부분을 LLM을 사용.
  • Semantic Kernel 프레임워크를 사용한 이유는 Langchain과 비슷하지만 python만 제공하는 Langchain보다 지원 언어 폭이 넓음. 연사자님은 Python을 사용하지 않고 .NET사용.

 
 

2. 초기 진행 과정 
 

  1. 감정을 프롬프트로 입력
  2. LLM에서 감정을 분석해서 Spotify에 들어갈 분위기 장르에 해당되는 5개의 키워드를 만들어줌.
  3. 가장 높은 확률을 추출.
  4. Spotify에 해당 키워드 넣어줌.
  5. 플레이리스트 생성.

 

3. 문제점 발생
 

  • 플레이리스트에 아는 노래가 없음. 
  • 멜론차트 Top100에서의 음악 중에서 플레이리스트 생성하도록 수정. 
  • 하지만 멜론 차트는 API를 제공하지 않음.(아크셰이빙 착수 요인 발생)
  • MS의 Playhwright로 크롤링 진행
  • nuget에 해당 코드를 공유(MelonChart.NET, 하지만 누가 만든게 있었음..)

 
 
 

4. 변경된 진행 과정 : 
 

  1. 감정을 프롬프트로 입력
  2. LLM에서 감정을 분석해서 Spotify에 들어갈 분위기 장르에 해당되는 5개의 키워드를 만들어줌.
  3. 가장 높은 확률을 추출.
  4. RAG패턴으로서 DB에서 멜론 최신 TOP차트를 가져옴.
  5. 해당 차트 중 노래 추천 spotify 번호를 받음.
  6. Spotify에 해당 노래의 spotify 번호를 넣어줌.
  7. 플레이리스트 생성.

 
느낀점

 
아크세이빙이라는 용어를 처음 들음. 내가 개발할 때 진행한 삽질에 해당된 고급진 언어다..결국 프로젝트를 진행할 때 내가 생각한 프로젝트 진행 방향과 전혀 다른 작업에 시간을 뺏기고 있던 것..하지만 엄청 스트레스 받고 결국 해결하면서 얻는 것도 많은 과정..서비스를 생성하는 전반적인 과정을 재미있게 들을 수 있었고 나중에 포트폴리오를 작성할 때 이렇게 “진행이유 - 구현 - 문제발생- 해결 - 다시 구현” 개발 순서로 정리하면 듣는 사람이 편안하구나 생각이 들었음.  AI개발 분야가 아닌 단순 프론트엔드, 백엔드 개발자로서도 LLM을 활용해서 재미있는 AI 서비스를 제공할 수 있겠구나.. 생각.
 
 


 
 

사수 없는 주니어 개발자가 성장하는 방법
이승민, 에어프레미아 랩스, 프론트엔드 매니저, Android GDE 

 

 
1. 발표 많이 하기
 

  • 여러 행사에서 발표로 지식과 경험을 공유.
  • 자신감을 갖고 하기. 틀리면 알아서 걸러듣는다(? 위험한 발언이겠지만 연사자님은 이렇게 생각하고 계시다고 하심..ㅋㅋ나도 어느정도 동의. 최선을 다해 준비하겠지만 틀린부분이 언제든 있을 수 있으므로.. )
  • 지식을 공유한 경험을 쌓아가며 자신감을 가지기.

 
 

2. 블로그 작성
 

  • 발표보다 콘텐츠가 오래 남아서 더 추천. 브랜드 형성에 큰 도움.
  • 마찬가지로 위의 마인드로 자신감 갖기.

 
 

3. 커뮤니티하기
 

  • GDG도 여기에 해당됨. 커뮤니티 하는 방식은 3가지가 있음.
  1. 지식공유. 지식을 나누며 커뮤니티에 기여.
  2. 오거나이저. 지식공유의 장을 만들면서 기여.
  3. 참여자. 공유 받은 지식을 활용하여 사회에 기여.
  • 단점은 시간은 많이 들어감. 근데 물질적인 보상 없음.
  • 해결방법은 내적 동기를 만들기. 지식공유, 사람들과의 교류의 즐거움.

 
 

4. 스터디/ 사이드 프로젝트
 

  • 학교, 회사, 커뮤니티, 관심사가 맞는 사람들과 구성해서 저녁을 투자하기.
  • 힘들고 지나면 공부한 내용도 기억안남. 하지만 힘들지만 해냈다는 뿌듯한 경험으로 인한 자존감이 올라가고 사람이 남음.

 
 
5. 오픈소스
 

  • 개발 업계에만 있는 축복받은 문화
  • 전세계 개발자들과 무료로 코드공유, 의견나눔, 평가받는게 가능.
  • 오픈소스 잘 만들면 여러 나라로 부터 초청, 좋은 대우로 글로벌 회사 입사 가능 사례 보여주심.
  • 장소나 시간에 제한받지 않고 전세계 개발자들과 교류하며 성장.

 
 
6. 야근
 

  • 가장 많이 성장할 수 있음.
  • 회사 내에서는 새로운 프로젝트를 잘 구축하는것과 이미 만들어진 코드에서 새로운 요구사항을 잘 반영하는 것으로 나뉨. 두번째 방식이 더 어려움.(아마 버전을 많이 타는 안드로이드에 많이 적용될 듯.레거시 코드와 충돌할 때 어떻게 해결할지?)
  • 사수가 없다면 스스로 다 해결하므로 하고 싶은 기술을 모두 적용하며 경험의 폭이 빠르게 성장. 하고싶은거 다 해볼 수 있음. 하지만 잘못되면 자기가 다 수습=> 경험이 더 많이됨.

 
 

7.  “성장하는 시간을 즐겨라”
 

  • 위는 방법론임. 방법론을 모두 적용하려면?
  • “좋아하는 일이라고 많이 생각하기. 의무로 생각하지 않기”
  • 마인드셋이 중요함.

 

느낀점
 
가장 듣고 싶었던 세션이었고, 당연하게 특별한 비법이 있을거라고 생각한
내 뒷통수를 시원하게 갈겨주심... 개발자 측면에서 세상의 이치를 다시 일깨워
주신듯. no pain no gain but 즐겨라..


 
 

소주만들기: 언어 모델 증류와 합성 데이터 리파인
신정규. Lablup. Founder/CEO

 
 

1. 개요
 

  • Google이 2017년 공개한 LLM모델인 BERT 이후. Meta에서 모델을 더 키워 RoBERT 공개.
  • GPU 자원의 레이스가 본격적으로 시작됨.
  • 또한 자원은 한정되어 있지만, 사용하는 사람의 규모가 엄청 늘어남.
  • 더 큰 모델을 생성하는 경쟁에 돈을 쏟아부어 해결하고 있음.
  • 빅테크, 국가간의 경쟁. 현재 다른 IT분야가 죽어서 가능.

 
 
2. 문제점
 

  • 문제점이 발생함. GPU 확보하기가 힘듦. 최근에는 테슬라가 싹쓸이함.
  • 또한, 데이터의 한계에 봉착. 인터넷 상의 데이터가 말라감. 15조의 토큰 중 6조의 토큰을 사용했다고 설명하셨음.(찾아보니 https://epochai.org/trends 해당 사이트에서는 510조개가 있다고 추정된다고 하며, 최근 발표된 llama3.1 405B 모델은 15조개 이상의 토큰으로 훈련.)
  • 아무튼 핵심은 데이터가 말라간다..

 

3. 해결방법 - Soju Maker
 

그래서 해결방법으로 LLM으로 데이터를 만들어보자. Student-Teacher방식으로 Teacher모델이 가르지는 경량화 Student 모델들을 앙상블해 가장 좋은 모델 선택하거나 큰 모델을 만들어 데이터 생성함. 근데 할루시네이션 모델이 생성한 데이터로 모델을 학습하면 더 큰 할루시네이션이 발생하는 우로보로스 현상 발생함. 더 좋은 모델을 생성하면 되잖아요? 임시방편이고 엄청 큰 모델이 필요함.
해당 문제의 접근법으로 연사자님은 Soju Maker를 만드심. 인터넷 아카이브라는 공간에는 인터넷 기록을 위해 한국어 말뭉치를 저장해두고, 여기에는 광고,스팸,전화번호 같은 Garbage 정보도 많이 포함되어 있음.이 Garbage 정보를 LLM으로 정제해서 멀쩡한 데이터를 만든다. 프로젝트 진행 방식과 방법론도 이해하기 쉽도록 마인크레프트에 비유해서 자세히 설명해 주셨는데, 데이터 증류 측면에서 잘 이해가 안되었다.. 그래서 프로세스 설명 부분은 아래 사진으로 대체함

 
 

4. "생각의 폭을 넓히자"
 

  • 결과적으로 “LLM을 챗봇으로만 활용하는게 아닌 잠재적인 활용 가능성을 탐구하자” 라는 접근방식을 갖고 생각의 폭을 넓히기. “ViT를 이용한 화질 개선같이 단편적인 생각 외에도 이미지 분야에도 적용시킬수 있지 않을까?”

 
 

느낀점
 
추세를 빠르게 파악하고, 생각을 넓혀 문제를 해결해 나가기. 요즘 항상 드는
생각이 AI개발자의 경쟁력은 뭘까?였는데 도달한 결론은 지식을 이용해 아이디어를
뽑아낼 수 있는 능력이라고 생각했다. 이 부분에 확신을 주는 연사였음.

 


 

점점 늘어나는 클라우드 비용, FinOps로 다이어트 하기
박기준, OKESTRO, Machine Learning research Scientist

 
 
1. FinOps
 

  • FinOps는 사용하는 클라우드의 자원과 지출을 비즈니스 목표에 맞추는 것. “낭비를 없애고 생산적으로 클라우드를 사용하자.”.
  • Inform, Optimizer 등의 방법이 있으나 시간상 Optimizer만 설명.
  • 자원사용량 최적화이며 가격 최적화를 통한 예산 및 노력 내에 비즈니스 가치를 창출.
  • 진짜 필요한 자원을 줄이면 안정성이 떨어지므로 여러 방식을 잘 선택해야함.

 
2.Optimizer
 

  • AutoStop은 안쓰는 시간(유후자원)에 VM을 꺼놓아서 비용을 감축함. 실시간으로 GPU 사용량을 가져와서 주기적 판단 후 자동 종료.
  • Rightsizing은 표를 만들어서 각각의 모델이 얼마나 많은 자원을 사용하는지 확인함.
  • CUD은 클라우드 계약시 미리 약정을 구매하여 할인받음. 휴대폰 약정과 비슷. 미리 약정을 구매하므로서 유연성의 제약이 생김. 리소스 기반 CUD은 프로젝트, 리전 및 머신 유형을 선택해서 약정 할인을 검. 가변현 CUD는 위 리소스 기반의 모든 유형에 대한 약정이 적용되지만 할인율이 낮다.
  • Preemptible VM은 클라우드 제공사의 유후자원에 대해서 저렴하게 제공해줌. 최대 90%할인을 해줌. 하지만 해당 자원을 다른 곳에서 사용한다고 하면 불시에 회수함. 또한 사람들이 많이 쓰려고 한다면 가격이 올라감.
  • 최종적인 목적은 AI로 자동화하는 FinOps => FinOps의 AIOps화.

 
 
느낀점
 
클라우드를 사용하는 회사라면 아주 좋아할 것 같은 기술이라고 생각됨. 생소했고, 재미있었음. 활용 능력이 좋다면 대우가 좋겠다 생각이 들었음. 시간이 된다면 배우고 싶다!




 

Gemma and the Responsible GenAI Toolkit
Oscar Wahltinz, Google Research

 

 

1.Demo
 

  • Gemma모델을 활용한 Responsible GenAI Toolkit Demo 시연.
  • 사용 모델은 gemma, paligemma(VLM) 모델
  • gemma모델을 다운로드 받아 summary()를 찍어봄. gemma모델은 토크나이저 256,000개 total parameter 2억 5천개, paligemma는 토크나이저 257,000개 total parameter는 2억 9천개로 구성된 모델을 확인함.
  • gemma로는 번역기를 구현함.
  • paligemma로는 OCR을 이용한 번역기능을 구현.
  • Demo의 결과는 OCR은 정확했으나 번역부분이 조..금 결과가 맞지 않았음..ㅜㅜㅋㅋ

 

2. Responsible GenAI Toolkit 장점

 

  • 애플리케이션 설계의 가이드라인이 정해져있음.
  • Fewshot을 가지고 좋은 output을 낼 수 있음.
  • 안전함. 안전 매개 변수 내에서 작동
  • 모델 평가를 위한 리소스 제공
  • 유해한 콘텐츠가 필터링 되는 방식을 제공
  • 윤리적, 법적 책임에 대한 관리 방법 안내

 
 

느낀점
 
직접 Googler가 진행한 연사였고,

Responsible GenAI Toolkit이 뭔지 이해가 안되었는데

LLM을 조금 더 쉽고 윤리적이고 책임감 있게 개발하고 배포할 수 있는 Toolkit인 것..

확실히 AI개발을 더 체계적이고 안전하고 쉽게 할 수 있도록 하는 프레임워크들이많아지는 것 같다.

영어라서 듣는다고 들었는데, 농담할때 다른사람 다 웃는데 못 웃음..ㅜㅜ