From 9619fe522fdbf3e98ed3d85b71d3455184fea58e Mon Sep 17 00:00:00 2001 From: Jonas Maison Date: Sun, 28 Apr 2024 16:59:23 +0200 Subject: [PATCH] Update notes --- .../transformers/cross_encoder.png | Bin 0 -> 91270 bytes .../neural-nets/transformers/transformers.md | 26 ++++++++++++++++++ .../hardware/gpu-providers.md | 1 + .../programming/languages/python/python.md | 5 ++++ 4 files changed, 32 insertions(+) create mode 100644 base/science-tech-maths/machine-learning/algorithms/neural-nets/transformers/cross_encoder.png diff --git a/base/science-tech-maths/machine-learning/algorithms/neural-nets/transformers/cross_encoder.png b/base/science-tech-maths/machine-learning/algorithms/neural-nets/transformers/cross_encoder.png new file mode 100644 index 0000000000000000000000000000000000000000..716e353de059098945fe61dc59d29e77c96ea7c1 GIT binary patch literal 91270 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 K7r*Dkum1xY^5yaX literal 0 HcmV?d00001 diff --git a/base/science-tech-maths/machine-learning/algorithms/neural-nets/transformers/transformers.md b/base/science-tech-maths/machine-learning/algorithms/neural-nets/transformers/transformers.md index 3b47499..e9e0c46 100644 --- a/base/science-tech-maths/machine-learning/algorithms/neural-nets/transformers/transformers.md +++ b/base/science-tech-maths/machine-learning/algorithms/neural-nets/transformers/transformers.md @@ -35,11 +35,13 @@ - [Fixed or variable length?](#fixed-or-variable-length) - [Softmax is useless](#softmax-is-useless) - [Loss](#loss) + - [RLHF, PPO, DPO, IPO, KTO](#rlhf-ppo-dpo-ipo-kto) - [Transformers in NLP](#transformers-in-nlp) - [GPT](#gpt) - [GPT2](#gpt2) - [GPT3](#gpt3) - [BERT](#bert) + - [Sentence Embeddings](#sentence-embeddings) - [Transformers in computer vision](#transformers-in-computer-vision) - [Adapting transformers to CV](#adapting-transformers-to-cv) - [Patch embeddings and tokenization](#patch-embeddings-and-tokenization) @@ -710,6 +712,16 @@ During training, we can use the logits directly. During inference, we can use th The loss is usually the cross-entropy loss, but we don't want our model to be too confident. So we can use label smoothing. +### RLHF, PPO, DPO, IPO, KTO + +After pre-training, we finetune the model to be "instruct" or "chat". + +DPO: A type of training which removes the need for a reward model. It simplifies significantly the RLHF-pipeline. + +IPO: A change in the DPO objective which is simpler and less prone to overfitting. + +KTO: While PPO, DPO, and IPO require pairs of accepted vs rejected generations, KTO just needs a binary label (accepted or rejected), hence allowing to scale to much more data. + ## Transformers in NLP ### GPT @@ -773,3 +785,17 @@ That’s why BERT is a “bidirectional” transformer. A model has a better cha The pretraining of these models usually revolves around somehow corrupting a given sentence (for instance, by masking random words in it) and tasking the model with finding or reconstructing the initial sentence. + +### Sentence Embeddings + +Sometimes, we need a single embedding vector to represent a sentence. + +There are usually three ways to do this: + +1. mean pooling: we take the mean of the embeddings of the tokens in the sentence +2. max pooling: we take the max of the embeddings of the tokens in the sentence +3. Bert CLS token: we take the embedding of the CLS token in the sentence. This token is a special token that is supposed to represent the whole sentence meaning. During training, we train the model to predict if two sentences are consecutive (i.e. from the same document). + +To compare two sentences/texts, one can compare the embeddings using cosine similarity (bi-encoder) or use a cross-encoder. Cross-encoder are more powerful but slower. + +![](./cross_encoder.png) diff --git a/base/science-tech-maths/machine-learning/hardware/gpu-providers.md b/base/science-tech-maths/machine-learning/hardware/gpu-providers.md index 0270bf9..373b5aa 100644 --- a/base/science-tech-maths/machine-learning/hardware/gpu-providers.md +++ b/base/science-tech-maths/machine-learning/hardware/gpu-providers.md @@ -7,3 +7,4 @@ - - - +- diff --git a/base/science-tech-maths/programming/languages/python/python.md b/base/science-tech-maths/programming/languages/python/python.md index e5ea7d2..e5a4aae 100644 --- a/base/science-tech-maths/programming/languages/python/python.md +++ b/base/science-tech-maths/programming/languages/python/python.md @@ -27,6 +27,7 @@ - [Contravariance: `ContravariantType[SuperType, ...] <: ContravariantType[SubType, ...]`](#contravariance-contravarianttypesupertype---contravarianttypesubtype-) - [Invariant](#invariant) - [None vs Noreturn](#none-vs-noreturn) + - [TypeGuard, TypeIs](#typeguard-typeis) - [Sequences](#sequences) - [Filter Map Reduce](#filter-map-reduce) - [Comprehension lists/dicts](#comprehension-listsdicts) @@ -581,6 +582,10 @@ Python will always add an implicit `return None` to the end of any function. Thi Use `NoReturn` to indicate that a function never returns normally. For example, it always raises an exception or has an infinite loop. +### TypeGuard, TypeIs + +Narrowing types with TypeIs: + ## Sequences ### Filter Map Reduce