Home Pycon 2021 발표 요약
Post
Cancel

Pycon 2021 발표 요약

파이콘 2021 발표 영상을 보면서 인상 깊었던 발표를 간단하게 요약합니다.


기획자가 한 번 추천한 음식은 ‘당분간’ 추천하지 말라고 했다.

김다현


  • 인간의 정성적 심리 상태를 정량화 하려는 시도가 돋보임
    • 한번 추천 했던 음식은 언제 다시 먹고 싶을까?
    • 3일 뒤면 다시 100% 먹고 싶어 진다는 가설에서 출발해서 그 심리 상태를 회복하기까지의 변화를 정량적으로 측정
  • 여러가지 그래프(단조증가함수, 지수함수, 시그모이드 함수)를 찾아가는 과정이 재미있었음
  • 기획 -> 리서치 -> 코드 구현 -> 적용의 cycle을 빨리 돌려서 문제점을 개선해 나가는 과정이 인상 깊었음
  • (연사분께서도 말씀하셨지만) 추천 가중치 조절 이후에 목표 지표가 어떻게 변화 했는지 궁금했음
  • 회사에서 시퀀스 기반 추천에 exponential decay 함수를 통해 최신성에 대한 가중치 조절을 검토해 본 적 있는데 실행에 옮기진 못함. 이번 기회에 실험 해 봐도 좋을듯.
  • A/B 테스트가 가능한 환경이 선행 되어야 의미 있는 작업이 될 수 있을 것 같음


파이썬이 빅테이터를 다루기엔 느리다구요?

박현우


  • 빅데이터 처리의 사실상의 표준(de facto standard)인 spark

  • 고수준 API인 DataFrame을 쓴다면 pyspark도 scala 만큼의 성능 낼 수 있음. 성능 차이가 작다고 함

  • pyspark best practice를 알려 줘서 좋았음. 팀원들에게도 전달할 필요성이 있겠음

    • RDD 대신 DataFrame을 사용: DF를 쓴다면 쿼리 분석 및 실행 계획이 자동으로 최적화 됨
    • UDF를 최대한 피해라
      • UDF는 spark 입장에서 블랙박스. 따라서 최적화가 어려움
      • 최대한 내장 함수를 찾아보고 그래도 없을 때만 UDF를 활용하라
    • UDF를 써야만 한다면 python UDF가 아니라 pandas UDF를 써라
      • python UDF 대신 pandas UDF 도입시 성능이 3~100배 향상 가능
  • 더욱 pythonic한 spark를 만들기 위한 프로젝트들이 계속 생겨나고 있음

    • project Zen
      • pyspark를 보다 더 python스럽게 하자
    • pandas API on Spark
      • 기존에는 koals라는 이름으로 따로 진행된 프로젝트였으나 pyspark 3.2 버전부터 spark 생태계에 포함됨
      • pandas API를 그대로 pyspark에서 활용 가능함
  • 버전업이 되면서 pandas에 익숙한 분석가나 사이언티스트에게 더욱 친화적으로 변화되고 있다는 사실을 알 수 있었음

    • 데이터 엔지니어 팀원과 함께 기존 아키텍처와 spark 3.2 버전의 호환성 및 안정성 확인 필요
    • 분석용으로 충분히 도입할만 하다면 분석가나 사이언티스트에게 큰 도움이 될 것 같음 (pyspark를 쓰기 위한 러닝 커브가 낮음)

머신러닝 엔지니어 커리어 로드맵

송호연


  • 발표내용 요약

    • 커리어를 위한 회사 선택 기준

      • 회사의 핵심 역량이 ML인가?(=회사가 ML로 돈을 벌고 있나?)

      • 핵심 모델을 지속적으로 개선할 데이터가 있나?

      • 회사는 ML 엔지니어링의 가치를 인식하고 있는가?

    • 주니어 ML 엔지니어로 성장하는 방법

      • 주니어 성장의 핵심은 “최고의 동료”. 최고의 동료를 만나려면 내가 최고가 되기 위해 노력 해야함

      • 기본기가 중요

        • python, linear algebra, probability and statistics, optimization theory, deeplearning framework, linux, cloud computing, docker, model management, model serving, experiment management, …
    • 시니어 ML 엔지니어로 성장하는 방법

      • 생산성(productivity)를 높이자. AI model의 생산 비용을 낮추자.

      • 효율적인 ML 파이프라인을 설계 하자.

      • Model의 지속적인 A/B 테스트를 하자. 만들어낸 모델이 어떤 business value를 뽑아 냈는지 정량적으로 검증할 수 있어야 한다.

  • 개인적인 생각

    • 커리어를 선택할 때 회사의 규모에 신경 쓰지 말자.

    • 내가 좋아하는 ML + 엔지니어링의 중요성을 생각하고, 이게 회사의 전사적 목표인 회사로 가자.

    • 내가 하고 싶은 일을 할 수 있는 회사로 가자!


Reference


This post is licensed under CC BY 4.0 by the author.

파이썬 이터러블(iterable), 이터레이터(iterator), 제너레이터(generator)의 차이

CS50 - 컴퓨팅 사고(Computational Thinking)