Cuenca
Spain
Heidelberg
Germany
Tokyo
Japan
Durham
England
Boston
US
OBSERVED
SIMULATED
https://parti.research.google
A portrait photo of a kangaroo wearing an orange hoodie and blue sunglasses standing on the grass in front of the Sydney Opera House holding a sign on the chest that says Welcome Friends!
"Scaling Laws for Neural Language Models" Kaplan et al
"Sparks of Artificial General Intelligence: Early experiments with GPT-4" Bubeck et al
Produce Javascript code that creates a random graphical image that looks like a painting of Kandinsky
Draw a unicorn in TikZ
1. Recap of the Machine Learning building blocks
2. Learning to classify
BREAK
3. Tutorial: Build your first classifier
4. Introduction to Generative Models
5. Tutorial: Build your first generative model
(if time permits)
BREAK
1024x1024
Inductive biases!
Image Credit: CS231n Convolutional Neural Networks for Visual Recognition
Pixel 1
Pixel 2
Pixel N
Image Credit: Irhum Shakfat "Intuitively Understanding Convolutions for Deep Learning"
Image Credit: "Visualizing the loss landscape of neural networks" Hao Li et al
Image Credit: "Complete guide to Adam optimization" Hao Li et al
Pixel 1
Pixel 2
Pixel N
p Class 1
p Class 2
p Class 10
How different are two probability distributions?
Model Prediction
if True class is for i
otherwise
Truth: Class = 0
True class
Predicted probability
How different are two probability distributions?
Model Prediction
Truth: Class = 0
Predicted probability
True class
How different are two probability distributions?
Model Prediction
Truth: Class = 0
import flax.linen as nn
class MLP(nn.Module):
@nn.compact
def __call__(self, x):
# Linear
x = nn.Dense(features=64)(x)
# Non-linearity
x = nn.silu(x)
# Linear
x = nn.Dense(features=64)(x)
# Non-linearity
x = nn.silu(x)
# Linear
x = nn.Dense(features=2)(x)
return x
model = MLP()
import jax.numpy as jnp
example_input = jnp.ones((1,4))
params = model.init(jax.random.PRNGKey(0), example_input)
y = model.apply(params, example_input)
Architecture
Parameters
Call
A 2D animation of a folk music band composed of anthropomorphic autumn leaves, each playing traditional bluegrass instruments, amidst a rustic forest setting dappled with the soft light of a harvest moon
Image credit: DALL·E 3
1024x1024
Data
A PDF that we can optimize
Maximize the likelihood of the data
Maximize the likelihood of the training samples
Model
Training Samples
Trained Model
Evaluate probabilities
Low Probability
High Probability
Generate Novel Samples
sampled from a Gaussian distribution with mean 0 and variance 1
How is
distributed?
Base distribution
Target distribution
Invertible transformation
Normalizing flows in 1934
(Image Credit: Phillip Lippe)
z: Latent variables
Splines
But ODE solutions are always invertible!
Continuous time
Issues NFs: Lack of flexibility
Flow ODE
Chen et al. (2018), Grathwohl et al. (2018)
Generate
Evaluate Probability
Need to solve this expensive integral at each step during training!
Very slow
Can we avoid it?
Regress the velocity field directly!
But we need to know u. If we know u, then why learn another one?
Image Credit: "An Introduction to flow matchig" Tor Fjelde et al
Learn a conditional vector field (known at training time)
Approximate it with an unconditional one
The gradients of the losses are the same!
Gaussian
MNIST
Students at MIT are
...
OVER-CAFFEINATED
NERDS
SMART
ATHLETIC
https://www.astralcodexten.com/p/janus-simulators
How do we encode "helpful" in the loss function?
Step 1
Human teaches desired output
Explain RLHF
After training the model...
Step 2
Human scores outputs
+ teaches Reward model to score
it is the method by which ...
Explain means to tell someone...
Explain RLHF
Step 3
Tune the Language Model to produce high rewards!
BEFORE RLHF
AFTER RLHF
cuestalz@mit.edu