Conference

Google I/O Extended 2024 Incheon

Logistic 2024. 7. 30. 22:26

안녕하세요 Danielkim 입니다.

 

이번에는 인천 송도에서 열리는 Google I/O Extended 2024 Incheon에 다녀왔습니다.

 

원래는 3만원 내고 개인으로 가야 할걸 다행히 GDSC 멤버들과 단체로 가서 더 저렴하게 티켓을 구해 갈 수 있었습니다.

13시부터 19시 총 6시간동안 총 42개의 세션이 있었습니다

정말 많은 개발자분들이 모이셔서 인기있는 세션은 자리를 잡는것도 문제였습니다.

 

세션 확인은 아래 노션링크에서 확인하실 수 있습니다.

https://danielkim88.notion.site/I-O-Ex-2024-Incheon-444190c83d244726ae3c45f68bafe5ee

 

I/O Ex 2024 Incheon 연사자 | Notion

Built with Notion, the all-in-one connected workspace with publishing capabilities.

danielkim88.notion.site

 

 

입장


11시쯤 서울에서 출발했는데 도착하니 입장하기 30분전에 겨우 도착했습니다. 12시 30분부터 입장하여 미리 등록확인과 티셔츠와 스티커를 받아왔습니다.

 

 

 

스티커는 바로 노트북에 붙여주고 티셔츠는 그대로 가방에 직행 

개인적으로 티셔츠가 깔끔하니 집에서 입고 있기 딱 좋습니다.

첫 번째 세션 : 에어프레미아는 왜 재개발을 하는가?


간단하게 정리하자면

 

항공 역사가 그리 오래되지 않음

LCC (저비용 항공사) 등장 1970~

서비스 모델

  • FSC (ex. KoreanAIr)장거리 제공비싼 가격
  • 최신 기체
  • 다양한 서비스
  • LCC (ex. jeju airline)서비스 많이 없음 (유료)
  • 착한 가격
  • 단거리
  • HSC (ex.Airpremia)장거리 제공
  • FSC와 LCC의 장점들을 제공
  • 저렴한 가격 (합리적 가격)

기술기반으로 혁신

이를 에어프레미아 랩스에서 진행

FE BE 합침(JSP 기반으로 동작)

각 항공사의 예약서비스는 각자 db를 들고 있는게 아니라 글로벌 서비스를 기반으로해서 돌림

에어프레미아는 Navitaire에서 제공하는 api를 사용해서 예약서비스를 돌림

레거시 형태

FE/BE 커버리지가 불분명하여 누가 어디까지 커버해야하는지 불명확함

  • 이슈가 있을때 원인 찾는것이 힘듬
  • 불필요한 시간 비용이 추가로 발생
  • 코드를 이해하기 힘듬 (코드 꼬임)
  • 중복코드 많음
  • 추론 불가 코드 (천국의 계단마냥)

→ 레거시 환경에서 개발하는게 어려움

왜 재개발인가

  • TECH 기반의 HSC를 성공시키고 싶은데 기존 구조로는
    • 느림
    • 확장성 없음
    • 유지보수 / 안전성 → 속도 위주 개발은 안전성에 문제있음

→ RE : 제로부터 시작하는 개발 생활

개선 항목 Before After
언어 java kotlin
코드경계 FE/BE 코드가 구분이 잘 안됨 FE /BE 코드 (명확) 구분
비즈니스 로직 비즈니스 로직 구현 위치가 모호함 대부분 be로 이동 , 코드 모듈화
api 호출 호출 구현에 손이 많이 감, 중복 코드 호출 구현 빨라져야함 , 재사용 가능 코드

 

etc...

 

Coffee Time


첫번째 세션이 조금 늦게 끝나 다음 세션을 들어가기 애매한 시간이였고 다들 차타고 오느라 지쳐 잠시 Coffee Time을 가지기로 했습니다

 

좌측부터 Macbook Pro , ThinkPad X1 Carbon , gram ... 개발자들의 노트북 종류는 한정적인듯 합니다

두 번째 세션 : Multimodal Model이 어떻게 이미지와 오디오를 이해할까? (re: LMM)


기존 text만을 사용하여 소통하는 모델과 달리 여러가지 형태의 정보 (text,audio,image etc...)를 통해 소통하는 더욱 강력한 모델을 Multimodal Model이라고 합니다. 이번 세션에서는 Gemini를 활용하여 Multimodal Model를 직접 사용해보는 시간을 가졌습니다.

 

세 번째 세션 : 왜 내가 만든 쿼리는 항상 느릴까?


오늘 세션중 가장 많은분들이 모인 세션이였던 것 같습니다. DB공부를 안해서 완벽하게 알지는 못하였지만 공부한 내용을 바탕으로 꿀팁을 많이 얻어간 시간이였습니다.

 

쿼리 읽을때 SELECT절부터 읽는 사람은 하수다. FROM절부터 읽어서 어느 테이블에서 가져오는지부터 알아야한다

 

컬럼 순서는 중요하지 않음 , Lookup 최소화해서 I/O 비용을 줄여라

 

부정조건을 긍정조건으로 최대한 변경 etc...

네 번째 세션 : 100명의 개발자분들을 도와 100개가 넘는 오픈소스 PR을 함께 만들고...


오픈소스 기여하기 : 코드 파악 후 수정 계획을 세우고 코드를 짜서 날리면 끝

본인도 시간날때 해봐야겠다고 생각했습니다.

 마지막 세션 : JAX로 GPU 프로그래밍 다루기 


gpu 프로그래밍이 필요한 이유 

- gpu 병렬 처리할 때 유용함

- gpu를 메뉴얼적으로 할당해서 진행하는 상황에서 유용하다

What is JAX?

JAX is a machine learning library for transforming numerical functions. It is particularly useful for high-performance machine learning research and allows for automatic differentiation, just-in-time compilation, and GPU/TPU acceleration.

 

jax is like numpy

  • 자동벡터화
  • 병렬화
  • 재현성이 가능한 랜덤넘버 부여

What is XLA?

XLA (Accelerated Linear Algebra) is a domain-specific compiler for linear algebra that optimizes TensorFlow computations. It enhances the performance of machine learning models by optimizing the computation graph and reducing the overhead of repeated operations. XLA can also target various hardware backends, including CPUs, GPUs, and TPUs, to accelerate the training and inference of machine learning models.

 

💡 https://github.com/openxla/xla?tab=readme-ov-file

 

PJRT

  • XLA를 지원하게 해주는 디바이스 API

OpenAI Triton

Triton is an open-source, high-performance deep learning inference server developed by NVIDIA. It allows for the deployment of trained AI models from any framework (such as TensorFlow, PyTorch, or ONNX) in production environments while optimizing performance and scaling across CPUs, GPUs, and other accelerators.

 

작동

python fun → triton-IR→ LLVM-IR →PTX

 

Trition 단점 (jax관점)

  • gpu에서만 사용가능 tpu x
  • pytorch에서만 사용가능

jax-triton

  • jax에 triton을 이식하는 오픈소스 플젝

Pallas

Pallas는 JAX에서 사용 가능한 고성능 GPU 커널을 작성하기 위한 라이브러리입니다. 이 라이브러리는 GPU에서의 고성능 연산을 위해 최적화되어 있으며, 사용자 정의 연산을 쉽게 구현할 수 있게 해줍니다. Pallas를 사용하면 GPU에서의 병렬 처리를 더 효율적으로 관리할 수 있습니다.

 

마무리


센트럴파크가 잘보이는 식당에서 저녁을 먹으며 Google I/O Extended 2024 Incheon 일정을 마무리했습니다.

이전부터 컨퍼런스를 다녀보며 개발자는새로운 컨퍼런스가 생길때마다 참여해서 흐름을 읽으며 공부하는것이 중요하다고 느꼈습니다.