tgoop.com/machinelearning_interview/1408
Last Update:
ΠΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ (ΠΈΠ»ΠΈ Π°Π±ΡΠΎΡΠ±ΠΈΡΡΡΡΠ°Ρ) Π΄ΠΈΡΡΡΠ·ΠΈΡ - ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠΈΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π°Π²ΡΠΎΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΡΠΌ ΠΌΠΎΠ΄Π΅Π»ΡΠΌ.
MD4 (Masked Discrete Diffusion for Discrete Data) - ΠΌΠ΅ΡΠΎΠ΄, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π² Google DeepMind ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΈ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΡΡΠ·ΠΈΠΈ. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ°ΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΡΡΠ·ΠΈΠΈ Ρ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ ΡΡ
Π΅ΠΌΠ°ΠΌΠΈ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π·Π°Π²ΠΈΡΡΡΠΈΠΌΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π΄Π°Π½Π½ΡΡ
.
Π ΠΎΡΠ½ΠΎΠ²Π΅ MD4 Π»Π΅ΠΆΠΈΡ Β«ΠΌΠ°ΡΠΊΠΈΡΡΡΡΠΈΠΉΒ» ΠΏΡΠΎΡΠ΅ΡΡ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«ΠΌΠ°ΡΠΊΠΈΒ» Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠ½ΡΠ΅Π·ΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΡ
ΡΠ°Π½ΡΡΡΠΈΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ°ΡΡΠ΅ΠΉ Π²ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΡΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΠΊΠΎΠ²ΡΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
Π²Π΅Π»ΠΈΡΠΈΠ½, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΠΌΡΡ
Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΎΡ 0 Π΄ΠΎ 1.
MD4 ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π» ΠΏΡΠ΅Π²ΠΎΡΡ
ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π°Π΄ Π΄ΠΈΡΡΡΠ·ΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠ·ΡΠΊΠΎΠ²ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΠΏΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠΏΠ»Π΅ΠΊΡΠΈΠΈ Π½Π° Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ
OpenWebText ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΠΎΡΠ΅Π» ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄ΠΈΡΡΡΠ·ΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π΄ΠΎΡΡΠΈΠ³Π°Ρ 2,75 Π±ΠΈΡ Π½Π° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ CIFAR-10 ΠΈ 3,40 Π±ΠΈΡ Π½Π° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ImageNet 64 Γ 64.
ΠΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π°Π²ΡΠΎΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΡΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° (GPT-2, PixelRNN, Gated PixelCNN, PixelCNN++, PixelSNAIL, Image Transformer, Sparse Transformer).
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π°, MD4 ΡΠΊΠ»ΠΎΠ½Π΅Π½ ΠΊ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π΅Π³ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Ρ Ρ Π½ΡΠ»Π΅Π²ΠΎΠΉ Π²ΡΠ±ΠΎΡΠΊΠΎΠΉ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ.
ΠΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ MD4 ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Google Deepmind, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
.
β οΈ Batch size Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ MD4-S Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ 1024, 8 GPU A100 ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ batch size=128. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π½Π° TPU, 8 ΡΠΈΠΏΠΎΠ² v5litepod, batch size=32.
# Create & activate env
python -m venv md4_venv
source md4_venv/bin/activate
# Install required packages
pip install -r requirements_gpu.txt
# Include a path dir in the Python path
export PYTHONPATH="$PYTHONPATH:~/path/to/md4"
# Prepare openwebtext for training
mkdir data_dir
python prepare_openwebtext_data.py
# Train a MD4-S model over text data
python md4/main.py --config=md4/configs/md4/openwebtext.py --sharded=false --workdir=./expt
# Train a MD4-S model over image data via cifar10
python md4/main.py --config=md4/configs/md4/cifar10.py --sharded=false --workdir=./expt
@ai_machinelearning_big_data
#AI #ML #Diffusion #MD4 #GoogleDeepMind