From e233484a3b367a818e7d85e31d807a70a7c758e1 Mon Sep 17 00:00:00 2001 From: Sigrid Keydana <469371+skeydan@users.noreply.github.com> Date: Fri, 9 Jun 2023 18:29:58 +0200 Subject: [PATCH 1/4] add second post in line --- _posts/2023-06-22-gpt2-torch/gpt2.Rmd | 355 ++++++++++++++++++ .../images/transformer.png | Bin 0 -> 32976 bytes _posts/2023-06-22-gpt2-torch/references.bib | 61 +++ 3 files changed, 416 insertions(+) create mode 100644 _posts/2023-06-22-gpt2-torch/gpt2.Rmd create mode 100644 _posts/2023-06-22-gpt2-torch/images/transformer.png create mode 100644 _posts/2023-06-22-gpt2-torch/references.bib diff --git a/_posts/2023-06-22-gpt2-torch/gpt2.Rmd b/_posts/2023-06-22-gpt2-torch/gpt2.Rmd new file mode 100644 index 00000000..f4a233b3 --- /dev/null +++ b/_posts/2023-06-22-gpt2-torch/gpt2.Rmd @@ -0,0 +1,355 @@ +--- +title: "GPT-2 from scratch with torch" +description: > + Implementing a language model from scratch is, arguably, the best way to develop an accurate idea of how its engine works. Here, we use torch to code GPT-2, the immediate successor to the original GPT. In the end, you'll dispose of an R-native model that can make direct use of HuggingFace's pre-trained GPT-2 model weights. +author: + - name: Sigrid Keydana + affiliation: Posit + affiliation_url: https://www.posit.co/ +slug: keydanagpt2 +date: 2023-06-22 +categories: + - Torch + - R + - Natural Language Processing +bibliography: references.bib +output: + distill::distill_article: + self_contained: false + toc: true +preview: images/preview.jpg +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE, eval = FALSE, fig.width = 6, fig.height = 6) +``` + +Whatever your take on Large Language Models (LLMs) -- are they beneficial? dangerous? a short-lived fashion, like crypto? -- they are *here*, *now*. And that means, it is a good thing to know (at a level one needs to decide for oneself) how they work. Two days ago, I published [TBD](file:///home/key/code/rstudio/ai-blog/_posts/2023-06-20-llm-intro), intended for a more general audience, not necessarily too familiar with deep learning. Today, I'd like to address deep learning practitioners, walking through a `torch` implementation of GPT-2 [@Radford2019LanguageMA], the second in OpenAI's succession of ever-larger models trained on ever-more-vast text corpora. You'll see that a complete model implementation fits in fewer than 250 lines of R code. + +## Sources, resources + +The code I'm going to present is found in the [`minhub`](https://github.com/mlverse/minhub) repository. This repository deserves a mention of its own. As emphasized in the README, + +> *minhub* is a collection of minimal implementations of deep learning models, inspired by [minGPT](https://github.com/karpathy/minGPT/blob/master/mingpt/model.py). All models are designed to be self-contained, single-file, and devoid of external dependencies, making them easy to copy and integrate into your own projects. + +Evidently, this makes them excellent learning material; but that is not all. Models also come with the option to load pre-trained weights from HuggingFace's [model hub](https://huggingface.co/models). And if that weren't enormously convenient already, you don't have to worry about how to get tokenization right: Just download the matching tokenizer from HuggingFace, as well. I'll show how this works in the [final section](#end-to-end-usage-using-pre-trained-weights) of this post. As noted in the `minhub` README, these facilities are provided by packages [`hfhub`](https://github.com/mlverse/hfhub) and [`tok`](https://github.com/mlverse/tok). + +As realized in `minhub`, [gpt2.R](https://github.com/mlverse/minhub/blob/main/R/gpt2.R) is, mostly, a port of Karpathy's [MinGPT](https://github.com/karpathy/minGPT/blob/master/mingpt/model.py). HuggingFace's (more sophisticated) [implementation](https://github.com/huggingface/transformers/blob/v4.29.1/src/transformers/models/gpt2/modeling_gpt2.py) has also been consulted. For a Python code walk-through, see . This text also consolidates links to blog posts and learning materials on language modeling with deep learning that have become "classics" in the short time since they were written. + +## A minimal GPT-2 + +#### Overall architecture + +The original Transformer [@vaswani2017attention] was built up of both an encoder and a decoder stack, a prototypical use case being machine translation. Subsequent developments, dependent on envisaged primary usage, tended to forego one of the stacks. The first GPT, which differs from GPT-2 only in relative subtleties, kept only the decoder stack. With "self-attention" wired into every decoder block, as well as an initial embedding step, this is not a problem -- external input is not technically different from successive internal representations. + +Here is a screenshot from the initial GPT paper [@Radford2018ImprovingLU], visualizing the overall architecture. It is still valid for GPT-2. Token as well as position embedding are followed by a twelve-fold repetition of (identical in structure, though not sharing weights) transformer blocks, with a task-dependent linear layer constituting model output. + +```{r, echo=FALSE, eval=TRUE, fig.alt = "Overall architecture of GPT-2. The central part is a twelve-fold repetition of a transformer block, chaining, consecutively, multi-head self-attention, layer normalization, a feed-forward sub-network, and a second instance of layer normalization. Inside this block, arrows indicate residual connections omitting the attention and feed-forward layers. Below this central component, an input-transformation block indicates both token and position embedding. On its top, output blocks list a few alternative, task-dependent modules."} +knitr::include_graphics("images/transformer.png") +``` + +In [gpt2.R](https://github.com/mlverse/minhub/blob/main/R/gpt2.R), this global structure and what it does is defined in `nn_gpt2_model()`. (The code is more modularized -- so don't be confused if code and screenshot don't perfectly match.) + +First, in `initialize()`, we have the definition of modules: + +```{r} +self$transformer <- nn_module_dict(list( + wte = nn_embedding(vocab_size, n_embd), + wpe = nn_embedding(max_pos, n_embd), + drop = nn_dropout(pdrop), + h = nn_sequential(!!!map( + 1:n_layer, + \(x) nn_gpt2_transformer_block(n_embd, n_head, n_layer, max_pos, pdrop) + )), + ln_f = nn_layer_norm(n_embd, eps = 1e-5) +)) + +self$lm_head <- nn_linear(n_embd, vocab_size, bias = FALSE) +``` + +The two top-level components in this model are the `transformer` and `lm_head`, the output layer. This code-level distinction has an important semantic dimension, with two aspects standing out. First, and quite directly, `transformer`'s definition communicates, in a succinct way, what it is that constitutes a Transformer. What comes thereafter -- `lm_head`, in our case -- may vary. Second, and importantly, the distinction reflects the essential underlying idea, or essential operationalization, of natural language processing in deep learning. Learning consists of two steps, the first -- and indispensable one -- being to learn about *language* (this is what LLMs do), and the second, much less resource-consuming, one consisting of adaptation to a concrete task (such as question answering, or text summarization). + +To see in what order (and how often) things happen, we look inside `forward()`: + +```{r} +tok_emb <- self$transformer$wte(x) +pos <- torch_arange(1, x$size(2))$to(dtype = "long")$unsqueeze(1) +pos_emb <- self$transformer$wpe(pos) +x <- self$transformer$drop(tok_emb + pos_emb) +x <- self$transformer$h(x) +x <- self$transformer$ln_f(x) +x <- self$lm_head(x) +x +``` + +All modules in `transformer` are called, and thus executed, once; this includes `h` -- but `h` itself is a sequential module made up of transformer *blocks*. + +Since these blocks are the core of the model, we'll look at them next. + +#### Transformer block + +Here's how, in `nn_gpt2_transformer_block()`, each of the twelve blocks is defined. + +```{r} +self$ln_1 <- nn_layer_norm(n_embd, eps = 1e-5) +self$attn <- nn_gpt2_attention(n_embd, n_head, n_layer, max_pos, pdrop) +self$ln_2 <- nn_layer_norm(n_embd, eps = 1e-5) +self$mlp <- nn_gpt2_mlp(n_embd, pdrop) +``` + +On this level of resolution, we see that self-attention is computed afresh at every stage, and that the other constitutive ingredient is a feed-forward neural network. In addition, there are two modules computing *layer normalization*, the type of normalization employed in transformer blocks. Different normalization algorithms tend to distinguish themselves from one another in what they average over; layer normalization [@ba2016layer] -- surprisingly, maybe, to some readers -- does so per batch *item*. That is, there is one mean, and one standard deviation, for each unit in a module. All other dimensions (in an image, that would be spatial dimensions as well as channels) constitute the input to that item-wise statistics computation. + +Continuing to zoom in, we will look at both the attention- and the feed-forward network shortly. Before, though, we need to see how these layers are called. Here is all that happens in `forward()`: + +```{r} +x <- x + self$attn(self$ln_1(x)) +x + self$mlp(self$ln_2(x)) +``` + +These two lines deserve to be read attentively. As opposed to just calling each consecutive layer on the previous one's output, this inserts skip (also termed *residual*) connections that, each, circumvent one of the parent module's principal stages. The effect is that each sub-module does not replace, but just update what is passed in with its own view on things. + +#### Transformer block up close: Self-attention + +Of all modules in GPT-2, this is by far the most intimidating-looking. But the basic algorithm employed here is the same as what the classic "dot product attention paper" [@BahdanauCB14] proposed in 2014: Attention is conceptualized as similarity, and similarity is measured via the dot product. One thing that can be confusing is the "self" in self-attention. This term first appeared in the Transformer paper [@vaswani2017attention], which had an encoder as well as a decoder stack. There, "attention" referred to how the decoder blocks decided where to focus in the message received from the encoding stage, while "self-attention" was the term coined for this technique being applied inside the stacks themselves (i.e., between a stack's internal blocks). With GPT-2, only the (now redundantly-named) self-attention remains. + +Resuming from the above, there are two reasons why this might look complicated. For one, the "triplication" of tokens introduced, in Transformer, through the "query - key - value" frame[^1]. And secondly, the additional batching introduced by having not just one, but several, parallel, independent attention-calculating processes per layer ("multi-head attention"). Walking through the code, I'll point to both as they make their appearance. + +[^1]: If this terminology is unfamiliar, you'll find a nice (and very popular) introduction [here](http://jalammar.github.io/illustrated-transformer/). + +We again start with module initialization. This is how `nn_gpt2_attention()` lists its components: + +```{r} +# key, query, value projections for all heads, but in a batch +self$c_attn <- nn_linear(n_embd, 3 * n_embd) +# output projection +self$c_proj <- nn_linear(n_embd, n_embd) + +# regularization +self$attn_dropout <- nn_dropout(pdrop) +self$resid_dropout <- nn_dropout(pdrop) + +# causal mask to ensure that attention is only applied to the left in the input sequence +self$bias <- torch_ones(max_pos, max_pos)$ + bool()$ + tril()$ + view(c(1, 1, max_pos, max_pos)) |> + nn_buffer() + +``` + +Besides two dropout layers, we see: + +- A linear module that effectuates the above-mentioned triplication. Note how this is different from just having three identical versions of a token: Assuming all representations were initially mostly equivalent (through random initialization, for example), they will not remain so once we've begun to train the model. +- A module, called `c_proj`, that applies a final affine transformation. We will need to look at usage to see what this module is for. +- A *buffer* -- a tensor that is part of a module's state, but exempt from training -- that makes sure that attention is not applied to previous-block output that "lies in the future". Basically, this is achieved by masking out future tokens, making use of a lower-triangular matrix. + +As to `forward()`, I am splitting it up into easy-to-digest pieces. + +As we enter the method, the argument, `x`, is shaped just as expected, for a language model: batch dimension times sequence length times embedding dimension. + +``` +x$shape +[1] 1 24 768 +``` + +Next, two batching operations happen: (1) triplication into queries, keys, and values; and (2) making space such that attention can be computed for the desired number of attention heads all at once. I'll explain how after listing the complete piece. + +```{r} +# batch size, sequence length, embedding dimensionality (n_embd) +c(b, t, c) %<-% x$shape + +# calculate query, key, values for all heads in batch and move head forward to be the batch dim +c(q, k, v) %<-% ((self$c_attn(x)$ + split(self$n_embd, dim = -1)) |> + map(\(x) x$view(c(b, t, self$n_head, c / self$n_head))) |> + map(\(x) x$transpose(2, 3))) + +``` + +First, the call to `self$c_attn()` yields query, key, and value vectors for each embedded input token. `split()` separates the resulting matrix into a list. Then `map()` takes care of the second batching operation. All of the three matrices are re-shaped, adding a fourth dimension. This fourth dimension takes care of the attention heads. Note how, as opposed to the multiplying process that triplicated the embeddings, this divides up what we have among the heads, leaving each of them to work with a subset inversely proportional to the number of heads used. Finally, `map(\(x) x$transpose(2, 3)` mutually exchanges head and sequence-position dimensions. + +Next comes the computation of attention itself. + +```{r} +# causal self-attention; Self-attend: (B, nh, T, hs) x (B, nh, hs, T) -> (B, nh, T, T) +att <- q$matmul(k$transpose(-2, -1)) * (1 / sqrt(k$size(-1))) +att <- att$masked_fill(self$bias[, , 1:t, 1:t] == 0, -Inf) +att <- att$softmax(dim = -1) +att <- self$attn_dropout(att) +``` + +First, similarity between queries and keys is computed, matrix multiplication effectively being a batched dot product. (If you're wondering about the final division term in line one, this scaling operation is one of the few aspects where GPT-2 differs from its predecessor. Check out the paper if you're interested in the related considerations.) Next, the aforementioned mask is applied, resultant scores are normalized, and dropout regularization is used to encourage sparsity. + +Finally, the computed *attention*[^2] needs to be passed on to the ensuing layer. This is where the value vectors come in -- those members of this trinity that we haven't yet seen in action. + +[^2]: I am italicizing the word so as to hint at a special way of using the term. While the expression in itself does sound rather strange, *attention* is often employed to signify the state reached after normalizing the -- usually seen as "raw" -- *scores*. + +```{r} +y <- att$matmul(v) # (B, nh, T, T) x (B, nh, T, hs) -> (B, nh, T, hs) +y <- y$transpose(2, 3)$contiguous()$view(c(b, t, c)) # re-assemble all head outputs side by side + +# output projection +y <- self$resid_dropout(self$c_proj(y)) +y +``` + +Concretely, what the matrix multiplication does here is weight the value vectors by the *attention*, and add them up. This happens for all attention heads at the same time, and really represents the outcome of the algorithm as a whole. + +Remaining steps then restore the original input size. This involves aligning the results for all heads one after the other, and then, applying the linear layer `c_proj` to make sure these results are not treated equally and/or independently, but combined in a useful way. Thus, the projection operation hinted at here really is a made up of a mechanical step (`view()`) and an "intelligent" one (transformation by `c_proj()`). + +#### Transformer block up close: Feed-forward network (MLP) + +Compared to the first, the attention module, there really is not much to say about the second core component of the transformer block (`nn_gpt2_mlp()`). It really is "just" an MLP -- no "tricks" involved. Two things deserve pointing out, though. + +First, you may have heard about the MLP in a transformer block working "position-wise", and wondered what is meant by this. Consider what happens in such a block: + +```{r} +x <- x + self$attn(self$ln_1(x)) +x + self$mlp(self$ln_2(x)) +``` + +The MLP receives its input (almost) directly from the attention module. But that, as we saw, was returning tensors of size [`batch size`, `sequence length`, embedding dimension]. Inside the MLP -- cf. its `forward()` -- the number of dimensions never changes: + +```{r} +x |> + self$c_fc() |> # nn_linear(n_embd, 4 * n_embd) + self$act() |> # nn_gelu(approximate = "tanh") + self$c_proj() |> # nn_linear(4 * n_embd, n_embd) + self$dropout() # nn_dropout(pdrop) +``` + +Thus, these transformations are applied to all elements in the sequence, *independently*. + +Second, since this is the only place where it appears, a note on the activation function employed. GeLU stands for "Gaussian Error Linear Units", proposed in [@hendrycks2020gaussian]. The idea here is to combine ReLU-like activation effects with regularization/stochasticity. In theory, each intermediate computation would be weighted by its position in the (Gaussian) cumulative distribution function -- effectively, by how much bigger (smaller) it is than the others. In practice, as you see from the module's instantiation, an approximation is used. + +And that's it for GPT-2's main actor, the repeated transformer block. Remain two things: what happens before, and what happens thereafter. + +#### From words to codes: Token and position embeddings + +Admittedly, if you tokenize the input dataset as required (using the matching tokenizer from HuggingFace -- see below), you do not really end up with *words*. But still, the well-established fact holds: Some change of representation has to happen if the model is to successfully extract linguistic knowledge. Like many Transformer-based models, the GPT family encodes tokens in two ways. For one, as word embeddings. Looking back to `nn_gpt2_model()`, the top-level module we started this walk-through with, we see: + +```{r} +wte = nn_embedding(vocab_size, n_embd) +``` + +This is useful already, but the representation space that results does not include information about semantic relations that may vary with *position in the sequence* -- syntactic rules, for example, or phrase pragmatics. The second type of encoding remedies this. Referred to as "position embedding", it appears in `nn_gpt2_model()` like so: + +```{r} +wpe = nn_embedding(max_pos, n_embd) +``` + +Another embedding layer? Yes, though this one embeds not tokens, but a pre-specified number of valid positions (ranging from 1 to 1024, in GPT's case). In other words, the network is supposed to *learn* what position in a sequence entails. This is an area where different models may vary vastly. The original Transformer employed a form of sinusoidal encoding; a more recent refinement is found in, e.g., GPT-NeoX [@rope-paper]. + +Once both encodings are available, they are straightforwardly added (see `nn_gpt2_model()$forward()`): + +```{r} +tok_emb <- self$transformer$wte(x) +pos <- torch_arange(1, x$size(2))$to(dtype = "long")$unsqueeze(1) +pos_emb <- self$transformer$wpe(pos) +x <- self$transformer$drop(tok_emb + pos_emb) +``` + +The resultant tensor is then passed to the chain of transformer blocks. + +#### Output + +Once the transformer blocks have been applied, the last mapping is taken care of by `lm_head`: + +```{r} +x <- self$lm_head(x) # nn_linear(n_embd, vocab_size, bias = FALSE) +``` + +This is a linear transformation that maps internal representations back to discrete vocabulary indices, assigning a score to every index. That being the model's final action, it is left to the sample generation process is to decide what to make of these scores. Or, put differently, that process is free to choose among different established techniques. We'll see one -- pretty standard -- way in the next section. + +This concludes model walk-through. I have left out a few details (such as weight initialization); consult [gpt.R](https://github.com/mlverse/minhub/blob/main/R/gpt2.R) if you're interested. + +## End-to-end-usage, using pre-trained weights {#end-to-end-usage-using-pre-trained-weights} + +It's unlikely that many users will want to train GPT-2 from scratch. Let's see, thus, how we can quickly set this up for sample generation. + +#### Create model, load weights, get tokenizer + +The HuggingFace [model hub](https://huggingface.co/models) lets you access (and download) all required files ([weights](https://huggingface.co/gpt2/blob/main/model.safetensors) and [tokenizer](https://huggingface.co/gpt2/blob/main/tokenizer.json)) directly from the [GPT-2 page](https://huggingface.co/gpt2/tree/main). All files are versioned; we use the most recent version. + +```{r} + identifier <- "gpt2" + revision <- "e7da7f2" + # instantiate model and load HuggingFace weights + model <- gpt2_from_pretrained(identifier, revision) + # load matching tokenizer + tok <- tok::tokenizer$from_pretrained(identifier) + model$eval() +``` + +#### tokenize + +Decoder-only transformer-type models don't need a prompt. But usually, applications will want to pass input to the generation process. Thanks to `tok`, tokenizing that input couldn't be more convenient: + +```{r} +idx <- torch_tensor( + tok$encode( + paste( + "No duty is imposed on the rich, rights of the poor is a hollow phrase...)", + "Enough languishing in custody. Equality" + ) + )$ + ids +)$ + view(c(1, -1)) +idx +``` + +``` +torch_tensor +Columns 1 to 11 2949 7077 318 10893 319 262 5527 11 2489 286 262 + +Columns 12 to 22 3595 318 257 20596 9546 2644 31779 2786 3929 287 10804 + +Columns 23 to 24 13 31428 +[ CPULongType{1,24} ] +``` + +#### Generate samples + +Sample generation is an iterative process, the model's last prediction getting appended to the -- growing -- prompt. + +```{r} +prompt_length <- idx$size(-1) + +for (i in 1:30) { # decide on maximal length of output sequence + # obtain next prediction (raw score) + with_no_grad({ + logits <- model(idx + 1L) + }) + last_logits <- logits[, -1, ] + # pick highest scores (how many is up to you) + c(prob, ind) %<-% last_logits$topk(50) + last_logits <- torch_full_like(last_logits, -Inf)$scatter_(-1, ind, prob) + # convert to probabilities + probs <- nnf_softmax(last_logits, dim = -1) + # probabilistic sampling + id_next <- torch_multinomial(probs, num_samples = 1) - 1L + # stop if end of sequence predicted + if (id_next$item() == 0) { + break + } + # append prediction to prompt + idx <- torch_cat(list(idx, id_next), dim = 2) +} + +``` + +To see the output, just use `tok$decode()`: + +```{r} +tok$decode(as.integer(idx)) +``` + +``` +[1] "No duty is imposed on the rich, rights of the poor is a hollow phrase... + Enough languishing in custody. Equality is over" +``` + +To experiment with text generation, just copy the self-contained file, and try different sampling-related parameters. (And prompts, of course!) + +As always, thanks for reading! diff --git a/_posts/2023-06-22-gpt2-torch/images/transformer.png b/_posts/2023-06-22-gpt2-torch/images/transformer.png new file mode 100644 index 0000000000000000000000000000000000000000..23f48f9f700f09a97ab1e6e58219801ab6d92e13 GIT binary patch literal 32976 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 literal 0 HcmV?d00001 diff --git a/_posts/2023-06-22-gpt2-torch/references.bib b/_posts/2023-06-22-gpt2-torch/references.bib new file mode 100644 index 00000000..a2b4d231 --- /dev/null +++ b/_posts/2023-06-22-gpt2-torch/references.bib @@ -0,0 +1,61 @@ +@article{rope-paper, + title={RoFormer: Enhanced Transformer with Rotary Position Embedding}, + author={Su, Jianlin and Lu, Yu and Pan, Shengfeng and Wen, Bo and Liu, Yunfeng}, + journal={arXiv preprint arXiv:2104.09864}, + year={2021} +} + +@misc{vaswani2017attention, + title={Attention Is All You Need}, + author={Ashish Vaswani and Noam Shazeer and Niki Parmar and Jakob Uszkoreit and Llion Jones and Aidan N. Gomez and Lukasz Kaiser and Illia Polosukhin}, + year={2017}, + eprint={1706.03762}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} + +@inproceedings{Radford2019LanguageMA, + title={Language Models are Unsupervised Multitask Learners}, + author={Alec Radford and Jeff Wu and Rewon Child and David Luan and Dario Amodei and Ilya Sutskever}, + year={2019} +} + +@inproceedings{Radford2018ImprovingLU, + title={Improving Language Understanding by Generative Pre-Training}, + author={Alec Radford and Karthik Narasimhan}, + year={2018} +} + +@misc{ba2016layer, + title={Layer Normalization}, + author={Jimmy Lei Ba and Jamie Ryan Kiros and Geoffrey E. Hinton}, + year={2016}, + eprint={1607.06450}, + archivePrefix={arXiv}, + primaryClass={stat.ML} +} + +@misc{hendrycks2020gaussian, + title={Gaussian Error Linear Units (GELUs)}, + author={Dan Hendrycks and Kevin Gimpel}, + year={2020}, + eprint={1606.08415}, + archivePrefix={arXiv}, + primaryClass={cs.LG} +} + +@article{BahdanauCB14, + author = {Dzmitry Bahdanau and + Kyunghyun Cho and + Yoshua Bengio}, + title = {Neural Machine Translation by Jointly Learning to Align and Translate}, + journal = {CoRR}, + volume = {abs/1409.0473}, + year = {2014}, + url = {http://arxiv.org/abs/1409.0473}, + archivePrefix = {arXiv}, + eprint = {1409.0473}, + timestamp = {Wed, 07 Jun 2017 14:40:19 +0200}, + biburl = {https://dblp.org/rec/bib/journals/corr/BahdanauCB14}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} From c43afd2ee9867960d41cddd0d0902b8cd43b5204 Mon Sep 17 00:00:00 2001 From: Sigrid Keydana <469371+skeydan@users.noreply.github.com> Date: Fri, 16 Jun 2023 10:11:26 +0200 Subject: [PATCH 2/4] remove space --- .../gpt2.Rmd | 14 +++++++------- .../images/transformer.png | Bin .../references.bib | 0 3 files changed, 7 insertions(+), 7 deletions(-) rename _posts/{2023-06-22-gpt2-torch => 2023-06-20-gpt2-torch}/gpt2.Rmd (91%) rename _posts/{2023-06-22-gpt2-torch => 2023-06-20-gpt2-torch}/images/transformer.png (100%) rename _posts/{2023-06-22-gpt2-torch => 2023-06-20-gpt2-torch}/references.bib (100%) diff --git a/_posts/2023-06-22-gpt2-torch/gpt2.Rmd b/_posts/2023-06-20-gpt2-torch/gpt2.Rmd similarity index 91% rename from _posts/2023-06-22-gpt2-torch/gpt2.Rmd rename to _posts/2023-06-20-gpt2-torch/gpt2.Rmd index f4a233b3..7efd74fe 100644 --- a/_posts/2023-06-22-gpt2-torch/gpt2.Rmd +++ b/_posts/2023-06-20-gpt2-torch/gpt2.Rmd @@ -1,13 +1,13 @@ --- title: "GPT-2 from scratch with torch" description: > - Implementing a language model from scratch is, arguably, the best way to develop an accurate idea of how its engine works. Here, we use torch to code GPT-2, the immediate successor to the original GPT. In the end, you'll dispose of an R-native model that can make direct use of HuggingFace's pre-trained GPT-2 model weights. + Implementing a language model from scratch is, arguably, the best way to develop an accurate idea of how its engine works. Here, we use torch to code GPT-2, the immediate successor to the original GPT. In the end, you'll dispose of an R-native model that can make direct use of Hugging Face's pre-trained GPT-2 model weights. author: - name: Sigrid Keydana affiliation: Posit affiliation_url: https://www.posit.co/ slug: keydanagpt2 -date: 2023-06-22 +date: 2023-06-20 categories: - Torch - R @@ -32,9 +32,9 @@ The code I'm going to present is found in the [`minhub`](https://github.com/mlve > *minhub* is a collection of minimal implementations of deep learning models, inspired by [minGPT](https://github.com/karpathy/minGPT/blob/master/mingpt/model.py). All models are designed to be self-contained, single-file, and devoid of external dependencies, making them easy to copy and integrate into your own projects. -Evidently, this makes them excellent learning material; but that is not all. Models also come with the option to load pre-trained weights from HuggingFace's [model hub](https://huggingface.co/models). And if that weren't enormously convenient already, you don't have to worry about how to get tokenization right: Just download the matching tokenizer from HuggingFace, as well. I'll show how this works in the [final section](#end-to-end-usage-using-pre-trained-weights) of this post. As noted in the `minhub` README, these facilities are provided by packages [`hfhub`](https://github.com/mlverse/hfhub) and [`tok`](https://github.com/mlverse/tok). +Evidently, this makes them excellent learning material; but that is not all. Models also come with the option to load pre-trained weights from Hugging Face's [model hub](https://Hugging Face.co/models). And if that weren't enormously convenient already, you don't have to worry about how to get tokenization right: Just download the matching tokenizer from Hugging Face, as well. I'll show how this works in the [final section](#end-to-end-usage-using-pre-trained-weights) of this post. As noted in the `minhub` README, these facilities are provided by packages [`hfhub`](https://github.com/mlverse/hfhub) and [`tok`](https://github.com/mlverse/tok). -As realized in `minhub`, [gpt2.R](https://github.com/mlverse/minhub/blob/main/R/gpt2.R) is, mostly, a port of Karpathy's [MinGPT](https://github.com/karpathy/minGPT/blob/master/mingpt/model.py). HuggingFace's (more sophisticated) [implementation](https://github.com/huggingface/transformers/blob/v4.29.1/src/transformers/models/gpt2/modeling_gpt2.py) has also been consulted. For a Python code walk-through, see . This text also consolidates links to blog posts and learning materials on language modeling with deep learning that have become "classics" in the short time since they were written. +As realized in `minhub`, [gpt2.R](https://github.com/mlverse/minhub/blob/main/R/gpt2.R) is, mostly, a port of Karpathy's [MinGPT](https://github.com/karpathy/minGPT/blob/master/mingpt/model.py). Hugging Face's (more sophisticated) [implementation](https://github.com/Hugging Face/transformers/blob/v4.29.1/src/transformers/models/gpt2/modeling_gpt2.py) has also been consulted. For a Python code walk-through, see . This text also consolidates links to blog posts and learning materials on language modeling with deep learning that have become "classics" in the short time since they were written. ## A minimal GPT-2 @@ -226,7 +226,7 @@ And that's it for GPT-2's main actor, the repeated transformer block. Remain two #### From words to codes: Token and position embeddings -Admittedly, if you tokenize the input dataset as required (using the matching tokenizer from HuggingFace -- see below), you do not really end up with *words*. But still, the well-established fact holds: Some change of representation has to happen if the model is to successfully extract linguistic knowledge. Like many Transformer-based models, the GPT family encodes tokens in two ways. For one, as word embeddings. Looking back to `nn_gpt2_model()`, the top-level module we started this walk-through with, we see: +Admittedly, if you tokenize the input dataset as required (using the matching tokenizer from Hugging Face -- see below), you do not really end up with *words*. But still, the well-established fact holds: Some change of representation has to happen if the model is to successfully extract linguistic knowledge. Like many Transformer-based models, the GPT family encodes tokens in two ways. For one, as word embeddings. Looking back to `nn_gpt2_model()`, the top-level module we started this walk-through with, we see: ```{r} wte = nn_embedding(vocab_size, n_embd) @@ -269,12 +269,12 @@ It's unlikely that many users will want to train GPT-2 from scratch. Let's see, #### Create model, load weights, get tokenizer -The HuggingFace [model hub](https://huggingface.co/models) lets you access (and download) all required files ([weights](https://huggingface.co/gpt2/blob/main/model.safetensors) and [tokenizer](https://huggingface.co/gpt2/blob/main/tokenizer.json)) directly from the [GPT-2 page](https://huggingface.co/gpt2/tree/main). All files are versioned; we use the most recent version. +The Hugging Face [model hub](https://Hugging Face.co/models) lets you access (and download) all required files ([weights](https://Hugging Face.co/gpt2/blob/main/model.safetensors) and [tokenizer](https://Hugging Face.co/gpt2/blob/main/tokenizer.json)) directly from the [GPT-2 page](https://Hugging Face.co/gpt2/tree/main). All files are versioned; we use the most recent version. ```{r} identifier <- "gpt2" revision <- "e7da7f2" - # instantiate model and load HuggingFace weights + # instantiate model and load Hugging Face weights model <- gpt2_from_pretrained(identifier, revision) # load matching tokenizer tok <- tok::tokenizer$from_pretrained(identifier) diff --git a/_posts/2023-06-22-gpt2-torch/images/transformer.png b/_posts/2023-06-20-gpt2-torch/images/transformer.png similarity index 100% rename from _posts/2023-06-22-gpt2-torch/images/transformer.png rename to _posts/2023-06-20-gpt2-torch/images/transformer.png diff --git a/_posts/2023-06-22-gpt2-torch/references.bib b/_posts/2023-06-20-gpt2-torch/references.bib similarity index 100% rename from _posts/2023-06-22-gpt2-torch/references.bib rename to _posts/2023-06-20-gpt2-torch/references.bib From 7eea42dcc5576d7efc9c8568f444b331468c7084 Mon Sep 17 00:00:00 2001 From: Sigrid Keydana <469371+skeydan@users.noreply.github.com> Date: Fri, 16 Jun 2023 10:17:45 +0200 Subject: [PATCH 3/4] update link --- _posts/2023-06-20-gpt2-torch/gpt2.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2023-06-20-gpt2-torch/gpt2.Rmd b/_posts/2023-06-20-gpt2-torch/gpt2.Rmd index 7efd74fe..db9b05b3 100644 --- a/_posts/2023-06-20-gpt2-torch/gpt2.Rmd +++ b/_posts/2023-06-20-gpt2-torch/gpt2.Rmd @@ -24,7 +24,7 @@ preview: images/preview.jpg knitr::opts_chunk$set(echo = TRUE, eval = FALSE, fig.width = 6, fig.height = 6) ``` -Whatever your take on Large Language Models (LLMs) -- are they beneficial? dangerous? a short-lived fashion, like crypto? -- they are *here*, *now*. And that means, it is a good thing to know (at a level one needs to decide for oneself) how they work. Two days ago, I published [TBD](file:///home/key/code/rstudio/ai-blog/_posts/2023-06-20-llm-intro), intended for a more general audience, not necessarily too familiar with deep learning. Today, I'd like to address deep learning practitioners, walking through a `torch` implementation of GPT-2 [@Radford2019LanguageMA], the second in OpenAI's succession of ever-larger models trained on ever-more-vast text corpora. You'll see that a complete model implementation fits in fewer than 250 lines of R code. +Whatever your take on Large Language Models (LLMs) -- are they beneficial? dangerous? a short-lived fashion, like crypto? -- they are *here*, *now*. And that means, it is a good thing to know (at a level one needs to decide for oneself) how they work. On this same day, I am publishing [What are Large Language Models? What are they not?](https://blogs.rstudio.com/ai/posts/2023-06-20-llm-intro), intended for a more general audience. In this post, I'd like to address deep learning practitioners, walking through a `torch` implementation of GPT-2 [@Radford2019LanguageMA], the second in OpenAI's succession of ever-larger models trained on ever-more-vast text corpora. You'll see that a complete model implementation fits in fewer than 250 lines of R code. ## Sources, resources From 17951e6a9adb162662f1f6220173b2ce414babf1 Mon Sep 17 00:00:00 2001 From: Sigrid Keydana <469371+skeydan@users.noreply.github.com> Date: Mon, 19 Jun 2023 15:58:13 +0200 Subject: [PATCH 4/4] GPT-2 with torch from scratch --- _posts/2023-06-20-gpt2-torch/gpt2.Rmd | 6 ++++++ _posts/2023-06-20-gpt2-torch/images/preview.jpg | Bin 0 -> 98252 bytes 2 files changed, 6 insertions(+) create mode 100644 _posts/2023-06-20-gpt2-torch/images/preview.jpg diff --git a/_posts/2023-06-20-gpt2-torch/gpt2.Rmd b/_posts/2023-06-20-gpt2-torch/gpt2.Rmd index db9b05b3..89619f1f 100644 --- a/_posts/2023-06-20-gpt2-torch/gpt2.Rmd +++ b/_posts/2023-06-20-gpt2-torch/gpt2.Rmd @@ -353,3 +353,9 @@ tok$decode(as.integer(idx)) To experiment with text generation, just copy the self-contained file, and try different sampling-related parameters. (And prompts, of course!) As always, thanks for reading! + +Photo by Marjan +Blan on Unsplash + diff --git a/_posts/2023-06-20-gpt2-torch/images/preview.jpg b/_posts/2023-06-20-gpt2-torch/images/preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3e9486b828c5c71db743b888990af20169367e30 GIT binary patch literal 98252 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 z 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

Vpim_!jgJ#Qx=d4K;A+5^x=}IBacv-uz1}v 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 Rf!2gk^ADU+^T+tV|Jhl{otyvw literal 0 HcmV?d00001