TRC와 함께한 MaxText 후기

TPU v4-64에서 Gemma3 파인튜닝을 위해서 Keras3 대신 MaxText를 새롭게 사용해본 경험을 공유해보고자 한다.

GCP에서 TPU Queued Resources를 생성한다.

이후 worker 0 (GCP에서 나오는 TPU ip address)에 ssh를 연결해준다.
(앞으로 특별한 말이 없다면 tpu node worker 0에서 실행한다)

maxtext를 git에서 clone 해준다.

git clone https://github.com/AI-Hypercomputer/maxtext && cd maxtext

이후에는 공식문서의 내용에 따라준다.

ZONE=<zone>
gcloud config set compute/zone $ZONE

ssh-keygen -f ~/.ssh/google_compute_engine
TPU_PREFIX=$YOUR_TPU_NAME
python3 multihost_runner.py --TPU_PREFIX=$TPU_PREFIX --COMMAND="bash setup.sh" --INTERNAL_IP=true

MaxText는 기본적으로 Gemma 1-3 Series를 지원한다.

Gemma3를 사용하기 위해서는 이 파일을 참고하면 된다.

Kaggle에 올라와 있는 Flax모델을 MaxText를 위해서 Checkpoint Conversion을 진행해줘야 한다. Kagglehub를 이용해서 Gemma3 Flax 체크포인트 파일을 받아준다.

import kagglehub
path = kagglehub.model_download("google/gemma-3/flax/gemma3-4b-it")
print("Path to model files:", path)

모델은 ~/.cache/kagglehub/models/google/gemma-3/flax/gemma3-4b-it/1 폴더에 다운로드가 된다.

이후 convert_gemma3_chkpt.py를 이용해 Conversion해준다.

다만, TPU multihost 환경이기에 cpu 플랫폼으로 제한해야 한다. (아니면, 그냥 다른 호스트에서 해도 된다)

JAX_PLATFORMS=cpu python3 -m MaxText.convert_gemma3_chkpt --base_model_path ~/.cache/kagglehub/models/google/gemma-3/flax/gemma3-4b-it/1/gemma3-4b-it/ --maxtext_model_path gs://<bucket-name-1> --model_size 4b

마지막으로 MaxText/configs/base.yml를 수정해야 한다.

model_name: "gemma3-4b"
base_output_directory: "gs://<bucket-name-2>"
load_parameters_path: "gs://<bucket-name-1>/0/items"
tokenizer_path: "google/gemma-3-4b-it"
dataset_type: hf
hf_path: '<hf-dataset-path>'

이제 시작해보자

RUN_NAME="<unique-run-name>"
python3 multihost_runner.py --TPU_PREFIX=$TPU_PREFIX --COMMAND="bash preflight.sh PLATFORM=GCE && numactl --membind 0 --cpunodebind=0 python3 -m MaxText.train MaxText/configs/base.yml run_name=$RUN_NAME" --INTERNAL_IP=true

... (작성중)

Read more

RTX5090 체험 후기 (하) | Gcube 지큐브

이 글은 저번 체험에 대한 후기와 이어진다. RTX5090을 사용해 Gemma3를 튜닝했었는데, 그 결과가 소실된 것을 Gcube 측에서 안타까워 하셔 체험 기회를 한번 더 제공해주셨다. 그래서 RTX5090을 3일 더 사용해볼 수 있게 되었다! 이전과 동일한 환경(Axolotl, torch On docker: ghcr.io/deveworld/gpu-dev)에서 튜닝을 진행했다. 물론 이전과 다른 점은

By Dev. World

RTX5090 체험 후기 (상) | Gcube 지큐브

최근 gcube RTX 5090 체험 테스트에 선정되어 무상으로 체험해보게 되었다. 그 논란의 물량도 얼마 없어 돈이 있어도 구하기 어려운 RTX 5090을, 심지어 무료로 말이다! 게다가 5090뿐만 아니라 4090, 5080도 함께 제공받았다. 모두 현시점에서 가장 성능이 좋은 소비자용 그래픽카드 3종류이다. 메모리가 작고 대역폭 병목을 제외한 성능만 본다면 현존 최고 성능이다. 이들

By Dev. World

KorT: LLM이 평가하는 한국어 번역 벤치마크

한국어 번역 품질 벤치마크 KorT를 출시했습니다! 최근 한강 작가님의 작품이 노벨 문학상을 수상하며 전 세계의 주목을 받았던 일을 기억하시나요? 사실, 상을 수상한 배경 뒤에는 좋은 번역이 있었습니다. 좋은 번역은 단순한 언어 변환을 넘어, 우리의 문화와 이야기를 세계 무대에 성공적으로 선보이는 데 결정적인 역할을 합니다. 이처럼 번역의 중요성은 점점 더 커지고

By Dev. World

TPU Pods Gemma3 파인튜닝 정리

최근 구글이 출시한 Gemma3를 TPU Pods에서 파인튜닝해보기 위해 삽질중이다. 이 포스트는 삽질을 정리하기 위해 작성하고 있다. 요약 2025-03-20 gemma-llm으로 시도해보았지만 실패했다. 2025-03-21 Google Deepmind gemma-3 report 팀에 이메일을 보냈다. 답변이 없다 2025-03-22 🤗 Optimum TPU에서 파인튜닝이 되는 것을 확인했다. EasyDeL 프로젝트 또한 사용 가능하다. 2025-03-26 keras-hub에 gemma3가 merged되었다. jax를 백엔드로 keras3를

By Dev. World