BERT
·
Deep learning/자연어처리
Tokenizer BPE - Byte-pair Encoding - 전체 문서를 문자단위로 쪼갠 뒤 빈번하게 나오는 문자를 묶어 단어사전 수를 줄임. '모', '델' 로 나누고 '모델'이 빈번하게 발생하면 '모델'로 붙여서 처리 형태소는 이미 만들어놓은 형태소가 없으면 tokenizer 할 수 없다는 게 단점. https://heekangpark.github.io/nlp/huggingface-bert Huggingface BERT 톺아보기 Reinventing the Wheel heekangpark.github.io
파이토치 프로파일링 Pytorch profiler API
·
카테고리 없음
https://jh-bk.tistory.com/20 [PyTorch] 파이토치 프로파일링 (PyTorch profiler API) Introduction 지지난 글에서는, 파이썬 코드를 실행할 때 코드의 시간 성능을 프로파일러 (profiler) 를 이용해 측정하는 방법을 알아봤었다. 여기 (지지난 글이었지만 글을 수정 하면서 발행일을 업데 jh-bk.tistory.com
H100 GPU - PCIe vs SXM_[Performance Profile of Transformer Fine-Tuning in Multi-GPU Cloud Environments]
·
Computer Science/하드웨어
이번엔 논문 리뷰입니다. 논문제목은 아래와 같습니다. 「Performance Profile of Transformer Fine-Tuning in Multi-GPU Cloud Environments 」 이 논문은 NVIDIA V100 GPU를 최적조건으로 사용하는 방법을 연구한 결과를 포함하고 있다. 총 2가지 환경에서 비교한다. 1)Single vs multi-GPU 2) NV Link vs PCIe VI. 요약 연구를 통해 얻은 주요 인사이트는 다음과 같다. Single GPU일때, 연산에서 가장 로드가 많은 부분 : Train 데이터 로드, 역전파 연산 GPU수를 늘릴수록 연산 소요시간이 단축됨. Train 데이터 로드에는 시스템 메모리 용량이 가용한대로 2~4개의 데이터로더를 사용하는 것이 좋다. ..
GPU H100 - Transformer Engine - 03.성능최적화
·
Computer Science/하드웨어
Performance Optimizations TE엔진 사용법에 이어서 최적화하는 방법이다. GPT encoder Layer를 기준으로 소개한다. quickstart_utils.py 의 함수를 사용해서 적용해보자. import torch import transformer_engine.pytorch as te from transformer_engine.common.recipe import Format, DelayedScaling import quickstart_utils as utils # Layer configuration hidden_size = 4096 sequence_length = 2048 batch_size = 4 ffn_hidden_size = 16384 num_attention_heads =..
bert 모델 공부하기
·
Deep learning/자연어처리
https://hyen4110.tistory.com/87 [Pytorch][BERT] 버트 소스코드 이해 [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 👀 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfO hyen4110.tistory.com
GPU H100 - Transformer Engine - 02.적용하는법/ Docs review(Getting Started)
·
Computer Science/하드웨어
Getting Started Overview Transformer Engine (TE)을 사용하는 이유 FP8 지원 → 더 낮은 메모리 사용량 Transformer 아키텍처 지원 정밀도(Precision)를 유지하는 솔루션을 자동으로 적용되도록 구현 기존 DL 프레임워크와의 호환성 독립적인 C++ API도 지원함 Let's build a Transformer Layer! 우리는 일반 PyTorch 모듈을 사용하여 기본 트랜스포머 계층을 구축한다. 이는 추후 트랜스포머 엔진과의 비교를 위한 기준이 될 것입니다. 먼저 일반 PyTorch를 사용하여 GPT 인코더 계층을 생성합니다. 그림 1은 전체적인 구조를 보여준다. 모델 구성 요소별 사용한 Pytorch 라이브러리: LayerNorm : torch.nn...
GPU H100 Transformer engine - 01. 작동원리
·
Computer Science/하드웨어
※본포스팅은 Nvidia Transformer Engine Docs를 참고했습니다. Transformer Engine으로 FP8 사용하기 H100에서는 FP8(8-bit floating point) 형식을 지원한다 Introduction to FP8 H100에서 두 가지 FP8 형식을 지원한다. 1) E4M3 - +/- 448 2) E5M2 - +/- 57344 Dynamic Range가 넓지만 정확도가 떨어짐. Forward pass - E4M3 방식 사용 , weight 값을 계산 → 정확도 중요 Backward pass - E5M2 방식 사용, Gradient 값 계산 → 넓은 Dynamic Range 필요 Mixed Precision Training FP16 작동방법을 통해서 FP8 작동 방식 이..
[Syntax] 예외처리 , try/except/finally/assert
·
프로그래밍 언어/Python
01. 문법오류 발생시 → 에러종류, 에러메시지 표시 - 구조 : 조건에 맞으면 pass , 안맞으면 에러 메시지 표현 for i in range(5) print('예외처리') for i in range(5) ^ SyntaxError: invalid syntax 02. 예외처리 -에러가 발생할 상황이라도 코드가 멈추지 않고 pass되도록 하고 싶을때 사용 try: 예외가 발생할 가능성이 있는 코드 except [ 처리할 예외명 [ as 에러 메시지 변수 ]]: try 절에서 발생한 예외를 처리할 코드 [ else: ] try 절에서 예외가 발생하지 않았을 경우에만 실행될 코드 [ finally: ] try 절이 실행되고 나면 언제나 마지막에 실행될 코드 - assert 문 - assert [조건], [에..