SlideShare a Scribd company logo
Wandb Visualization
# Wandb
# Weight and Biases
# Visualization
# EDA
신원지
Contents
0. Motivation
1. Introduction
2. Tables Quickstart
3. Log Tables
2
0. Motivation
• 부스트캠프에서 wandb를 처음 알게됨
• 처음 보는 기능에 문화충격
• 새로운 기능들 발견
• Table의 다양한 사용 방식
• Jupyter notebook 과의 비교
• 여러 library 기능을 한 번에
• Docs 의 한글화
3
1. Introduction
Wandb Tables
• Tabular data 를 query, 기록, 분석 가능
• 이를 통해 데이터셋 이해, 모델 예측 시각화, 인사이트 공유 등이 가능
• 모델, epoch, 개별 예제 간 정확한 비교분석
• 시각적 표본을 통한 인사이트 도출 & 공유
• 데이터의 고수준 패턴 이해
4
1.1 log table 사용 방법
• 가장 빠른 방법
• wandb.log({"table": my_dataframe})
• Table에 다양한 media 타입의 요소들을 기록 가능
• Rich media types : Audio, BoundingBoxes2D, Graph, Histogram,
Html, Image, ImageMask, Molecule, Object3D, Plotly, Table,
Video
5
1.2 Wandb Tables?
• 각 컬럼이 한 종류의 데이터 타입을 가지는 2차원 grid data
• 지원 타입
• nested lists,
• dictionaries
• rich media types
• primitive and numeric types
6
1.3 Why use Tables?
1) Actually See your data
• 모델 학습 또는 평가 동안
metrics와 rich media 기록
• 클라우드 또는 self-hosted instance에
지속적으로 연동된 결과를 시각화
7
1.3 Why use Tables?
2) Interactively explore your data
• View, sort, filter, group, join, query
등의 기능 이용 가능
• Static file을 확인하거나
분석 스크립트 실행 불필요
8
1.3 Why use Tables?
3) 모델 버전 비교
• 다른 학습 에포크, 데이터셋, 하이퍼파라미터, 모델 아키텍쳐 등 빠른 비교
9
1.3 Why use Tables?
4) 미시적, 거시적 추적
• 특정 단계 에서의 구체적 예측 시각화(미시적)
• 한 가지 모델에서의 단계 비교
• 통계 모음, 오류 패턴 식별, 개선점 발견(거시적)
• 다른 모델 버전에서의 결과 비교
10
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Image Classification
11
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Audio
12
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Text
13
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Video
14
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Model Variants 비교 (semantic segmentation)
15
2. Tables Quickstart
2.1 Log a Table
2.2 Visualize tables in the workspace
2.3 Compare across model versions
16
2.1 Log a Table
• Run 초기화 → wandb.Table() 생성 -> run에 table 기록
17
2.2 Visualize tables in the workspace
• 각각의 유일한 테이블 key에 새로운 panel이 할당 됨
• “Table Name” 이란 key에 my_table 이 기록됨
18
2.3 Compare across model versions
• 프로젝트 워크스페이스에서 다수의
실행이 기록된 table 을 비교 가능
• 여러번의 실행을 결합하는 방법 예시
• 모델의 결과를 탐색하고 평가하기 위한
feature 들을 table을 이용해
필터, 정렬, 그룹화 가능
19
3. Log Tables
3.1 테이블 생성
3.2 데이터 추가
3.3 데이터 탐색
3.4 테이블 저장
3.5 Advanced : Artifact Tables
20
3.1 테이블 생성
• 데이터 각각의 행에 대해 보고싶은 열들의 구체화
• row : 트레이닝 데이터셋의 개별 요소, 학습 동안의 특정 단계 또는
epoch, 테스트 item에 대한 모델의 예측, 모델이 생성한 object
• Column type : numeric, text, boolean, image, video, audio 등
• column 명 명시 필요 없음(column index의 타입만 전달)
• 2가지 방법 사용 가능
21
3.1 테이블 생성
1) List of Rows
• 컬럼명과 데이터의 행을 기록
• wandb.Table(columns=["a", "b", "c"], data=[["1a", "1b", "1c"], ["2a", "2b",
"2c"]])
22
3.1 테이블 생성
2) Pandas DataFrame
• wandb.Table(dataframe=my_df)를
사용해 DataFrame 기록
• Column names == DataFrame의
column names
23
3.2 데이터 추가
• 200,000행 까지 데이터 추가, 변경 가능
• 2가지 데이터 추가 방법
1) Add a row
• table.add_data("3a", "3b", "3c")
• 추가 row 는 List가 아님
• list 의 방식을 원하면 table.add_data(*my_row_list) 와 같이 *1) 이용
• 추가 row도 같은 수의 column
1) *(asterisk) : container type의 data를 unpaking 할 때 사용
24
3.2 데이터 추가
2) Add a column
• table.add_column(name="col_name", data=col_data)
• Col_data : list data, numpy NDArray 가능
• len(Col_data) == 현재 테이블의 row 수
25
3.3 데이터 탐색
1) Row Iterator
• for ndx, row in table.iterrows(): … 같은 방식으로 데이터 탐색 가능
2) Get a Column
• table.get_column("col_name")
• convert_to="numpy" 를 사용하면 column을 Numpy NDArray로 변경 가능
• wandb.Image 같은 media type에서 underlying data에 직접 접근 가능
26
3.4 테이블 저장
1) Run에 테이블 기록
• wandb.log() 이용
• 같은 key에 기록될 때마다 새 버전의 테이블이 생성, 저장됨
• 이를 이용해 시간 변화에 따른 모델 예측 향상, 실행 비교 등 가능
• 최대 200,000개
• 최대치 이상 기록할 경우 wandb.Table.MAX_ROWS = X 와 같은 방식 사용
• 위의 방식은 UI 에서 query가 늦어지는 등의 performance issue가 있음
27
3.4 테이블 저장
2) Table 접근 방식
A. Run Summary
• Key에 기록된 run의 마지막 테이블에 접근
B. Artifact Access
• 특정 버전을 이용하고 싶은 경우 artifact API 이용
28
3.5 Advanced Artifact Tables
1) artifact.add() è workspace 대신 Artifacts section 이용 가능
29
3.5 Advanced Artifact Tables
2) Join Artifacts Tables
• Artifact에 기록한 2 테이블 join 가능
• Artifact에서 가져와 새로운 테이블에 join
30
Further Reading
• Visualize Predictions Over Time
• How to Compare Tables in Workspaces
• Image & Classification Models
• Text & Generative Language Models
• Named Entity Recognition
• AlphaFold Proteins
31
Reference
• Wandb docs
• 실습코드 깃헙
• Blog
32
Q&A
33
감사합니다
34

More Related Content

PDF
[부스트캠프 Tech Talk] 김봉진_WandB로 Auto ML 뿌수기
PDF
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
PDF
LLM 모델 기반 서비스 실전 가이드
PDF
DynamoDBを導入した話
PDF
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
PDF
DynamoDBの初心者に伝えたい初めて触るときの勘所
PDF
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
PDF
makoto shing (stability ai) - image model fine-tuning - wandb_event_230525.pdf
[부스트캠프 Tech Talk] 김봉진_WandB로 Auto ML 뿌수기
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
LLM 모델 기반 서비스 실전 가이드
DynamoDBを導入した話
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
DynamoDBの初心者に伝えたい初めて触るときの勘所
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
makoto shing (stability ai) - image model fine-tuning - wandb_event_230525.pdf

What's hot (20)

PDF
文献紹介:Token Shift Transformer for Video Classification
PDF
AWSのログ管理ベストプラクティス
PDF
인공지능추천시스템 airs개발기_모델링과시스템
PPTX
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
PDF
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
PPTX
[DL輪読会]Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-...
PDF
DSIRNLP#1 ランキング学習ことはじめ
PDF
時系列問題に対するCNNの有用性検証
PDF
Amazon SageMaker で始める機械学習
PDF
推薦アルゴリズムの今までとこれから
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
PDF
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
PDF
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
PDF
SQLアンチパターン - ジェイウォーク
PPTX
分散トレーシングAWS:X-Rayとの上手い付き合い方
PDF
파이썬을 활용한 챗봇 서비스 개발 3일차
PDF
データドリフトの紹介
PDF
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
PDF
Infrastructure as Code (IaC) 談義 2022
PPTX
MLOps入門
文献紹介:Token Shift Transformer for Video Classification
AWSのログ管理ベストプラクティス
인공지능추천시스템 airs개발기_모델링과시스템
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
[DL輪読会]Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-...
DSIRNLP#1 ランキング学習ことはじめ
時系列問題に対するCNNの有用性検証
Amazon SageMaker で始める機械学習
推薦アルゴリズムの今までとこれから
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
SQLアンチパターン - ジェイウォーク
分散トレーシングAWS:X-Rayとの上手い付き合い方
파이썬을 활용한 챗봇 서비스 개발 3일차
データドリフトの紹介
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
Infrastructure as Code (IaC) 談義 2022
MLOps入門
Ad

Similar to [부스트캠프 Tech Talk] 신원지_Wandb Visualization (8)

PPTX
몽고디비교육1일차
PDF
그림으로 공부하는 오라클 구조
PDF
Bootstrap
PPT
Hadoop Introduction (1.0)
PPTX
Index Analysis
PDF
제12장 시퀀스와 인덱스
PDF
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
PDF
Unify data and model using Apache S2Graph and GraphQL.
몽고디비교육1일차
그림으로 공부하는 오라클 구조
Bootstrap
Hadoop Introduction (1.0)
Index Analysis
제12장 시퀀스와 인덱스
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
Unify data and model using Apache S2Graph and GraphQL.
Ad

More from CONNECT FOUNDATION (20)

PDF
부스트캠프 웹・모바일 8기 설명회 (2023년)
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
PDF
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
PDF
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
PDF
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
PDF
부스트캠프 웹∙모바일 7기 설명회
PDF
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
PDF
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
PDF
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
PDF
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
PDF
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
PDF
[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로
부스트캠프 웹・모바일 8기 설명회 (2023년)
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
부스트캠프 웹∙모바일 7기 설명회
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로

[부스트캠프 Tech Talk] 신원지_Wandb Visualization

  • 1. Wandb Visualization # Wandb # Weight and Biases # Visualization # EDA 신원지
  • 2. Contents 0. Motivation 1. Introduction 2. Tables Quickstart 3. Log Tables 2
  • 3. 0. Motivation • 부스트캠프에서 wandb를 처음 알게됨 • 처음 보는 기능에 문화충격 • 새로운 기능들 발견 • Table의 다양한 사용 방식 • Jupyter notebook 과의 비교 • 여러 library 기능을 한 번에 • Docs 의 한글화 3
  • 4. 1. Introduction Wandb Tables • Tabular data 를 query, 기록, 분석 가능 • 이를 통해 데이터셋 이해, 모델 예측 시각화, 인사이트 공유 등이 가능 • 모델, epoch, 개별 예제 간 정확한 비교분석 • 시각적 표본을 통한 인사이트 도출 & 공유 • 데이터의 고수준 패턴 이해 4
  • 5. 1.1 log table 사용 방법 • 가장 빠른 방법 • wandb.log({"table": my_dataframe}) • Table에 다양한 media 타입의 요소들을 기록 가능 • Rich media types : Audio, BoundingBoxes2D, Graph, Histogram, Html, Image, ImageMask, Molecule, Object3D, Plotly, Table, Video 5
  • 6. 1.2 Wandb Tables? • 각 컬럼이 한 종류의 데이터 타입을 가지는 2차원 grid data • 지원 타입 • nested lists, • dictionaries • rich media types • primitive and numeric types 6
  • 7. 1.3 Why use Tables? 1) Actually See your data • 모델 학습 또는 평가 동안 metrics와 rich media 기록 • 클라우드 또는 self-hosted instance에 지속적으로 연동된 결과를 시각화 7
  • 8. 1.3 Why use Tables? 2) Interactively explore your data • View, sort, filter, group, join, query 등의 기능 이용 가능 • Static file을 확인하거나 분석 스크립트 실행 불필요 8
  • 9. 1.3 Why use Tables? 3) 모델 버전 비교 • 다른 학습 에포크, 데이터셋, 하이퍼파라미터, 모델 아키텍쳐 등 빠른 비교 9
  • 10. 1.3 Why use Tables? 4) 미시적, 거시적 추적 • 특정 단계 에서의 구체적 예측 시각화(미시적) • 한 가지 모델에서의 단계 비교 • 통계 모음, 오류 패턴 식별, 개선점 발견(거시적) • 다른 모델 버전에서의 결과 비교 10
  • 11. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Image Classification 11
  • 12. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Audio 12
  • 13. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Text 13
  • 14. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Video 14
  • 15. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Model Variants 비교 (semantic segmentation) 15
  • 16. 2. Tables Quickstart 2.1 Log a Table 2.2 Visualize tables in the workspace 2.3 Compare across model versions 16
  • 17. 2.1 Log a Table • Run 초기화 → wandb.Table() 생성 -> run에 table 기록 17
  • 18. 2.2 Visualize tables in the workspace • 각각의 유일한 테이블 key에 새로운 panel이 할당 됨 • “Table Name” 이란 key에 my_table 이 기록됨 18
  • 19. 2.3 Compare across model versions • 프로젝트 워크스페이스에서 다수의 실행이 기록된 table 을 비교 가능 • 여러번의 실행을 결합하는 방법 예시 • 모델의 결과를 탐색하고 평가하기 위한 feature 들을 table을 이용해 필터, 정렬, 그룹화 가능 19
  • 20. 3. Log Tables 3.1 테이블 생성 3.2 데이터 추가 3.3 데이터 탐색 3.4 테이블 저장 3.5 Advanced : Artifact Tables 20
  • 21. 3.1 테이블 생성 • 데이터 각각의 행에 대해 보고싶은 열들의 구체화 • row : 트레이닝 데이터셋의 개별 요소, 학습 동안의 특정 단계 또는 epoch, 테스트 item에 대한 모델의 예측, 모델이 생성한 object • Column type : numeric, text, boolean, image, video, audio 등 • column 명 명시 필요 없음(column index의 타입만 전달) • 2가지 방법 사용 가능 21
  • 22. 3.1 테이블 생성 1) List of Rows • 컬럼명과 데이터의 행을 기록 • wandb.Table(columns=["a", "b", "c"], data=[["1a", "1b", "1c"], ["2a", "2b", "2c"]]) 22
  • 23. 3.1 테이블 생성 2) Pandas DataFrame • wandb.Table(dataframe=my_df)를 사용해 DataFrame 기록 • Column names == DataFrame의 column names 23
  • 24. 3.2 데이터 추가 • 200,000행 까지 데이터 추가, 변경 가능 • 2가지 데이터 추가 방법 1) Add a row • table.add_data("3a", "3b", "3c") • 추가 row 는 List가 아님 • list 의 방식을 원하면 table.add_data(*my_row_list) 와 같이 *1) 이용 • 추가 row도 같은 수의 column 1) *(asterisk) : container type의 data를 unpaking 할 때 사용 24
  • 25. 3.2 데이터 추가 2) Add a column • table.add_column(name="col_name", data=col_data) • Col_data : list data, numpy NDArray 가능 • len(Col_data) == 현재 테이블의 row 수 25
  • 26. 3.3 데이터 탐색 1) Row Iterator • for ndx, row in table.iterrows(): … 같은 방식으로 데이터 탐색 가능 2) Get a Column • table.get_column("col_name") • convert_to="numpy" 를 사용하면 column을 Numpy NDArray로 변경 가능 • wandb.Image 같은 media type에서 underlying data에 직접 접근 가능 26
  • 27. 3.4 테이블 저장 1) Run에 테이블 기록 • wandb.log() 이용 • 같은 key에 기록될 때마다 새 버전의 테이블이 생성, 저장됨 • 이를 이용해 시간 변화에 따른 모델 예측 향상, 실행 비교 등 가능 • 최대 200,000개 • 최대치 이상 기록할 경우 wandb.Table.MAX_ROWS = X 와 같은 방식 사용 • 위의 방식은 UI 에서 query가 늦어지는 등의 performance issue가 있음 27
  • 28. 3.4 테이블 저장 2) Table 접근 방식 A. Run Summary • Key에 기록된 run의 마지막 테이블에 접근 B. Artifact Access • 특정 버전을 이용하고 싶은 경우 artifact API 이용 28
  • 29. 3.5 Advanced Artifact Tables 1) artifact.add() è workspace 대신 Artifacts section 이용 가능 29
  • 30. 3.5 Advanced Artifact Tables 2) Join Artifacts Tables • Artifact에 기록한 2 테이블 join 가능 • Artifact에서 가져와 새로운 테이블에 join 30
  • 31. Further Reading • Visualize Predictions Over Time • How to Compare Tables in Workspaces • Image & Classification Models • Text & Generative Language Models • Named Entity Recognition • AlphaFold Proteins 31
  • 32. Reference • Wandb docs • 실습코드 깃헙 • Blog 32