From 0e11d72ea03d16de45a233232f7bb4ef92cea4c0 Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Thu, 25 Apr 2024 18:31:53 -0700
Subject: [PATCH] llm blogpost
---
README.md | 12 ----
pgml-apps/pgml-chat/README.md | 5 --
pgml-cms/blog/.gitbook/assets/landscape.png | Bin 0 -> 964449 bytes
.../assets/machine-learning-platform.png | Bin 0 -> 135395 bytes
.../.gitbook/assets/open-weight-models.png | Bin 0 -> 145126 bytes
pgml-cms/blog/SUMMARY.md | 9 +--
...uncing-support-for-aws-us-east-1-region.md | 4 --
.../blog/data-is-living-and-relational.md | 2 -
...s-with-open-source-models-in-postgresml.md | 2 -
...commoditized-data-is-the-differentiator.md | 57 ++++++++++++++++++
...meet-us-at-the-2024-postgres-conference.md | 2 -
pgml-cms/blog/mindsdb-vs-postgresml.md | 6 --
.../postgres-full-text-search-is-awesome.md | 2 -
.../blog/postgresml-is-going-multicloud.md | 1 -
...l-is-moving-to-rust-for-our-2.0-release.md | 1 -
pgml-cms/docs/api/apis.md | 1 -
.../pgml.train/joint-optimization.md | 2 -
.../getting-started/import-your-data/copy.md | 1 -
.../logical-replication/README.md | 2 -
.../logical-replication/inside-a-vpc.md | 1 -
pgml-cms/docs/product/pgcat/README.md | 1 -
pgml-cms/docs/product/vector-database.md | 7 ---
...ostgres-30-percent-faster-in-production.md | 2 -
.../benchmarks/mindsdb-vs-postgresml.md | 7 ---
...with-postgresml-and-dbt-data-build-tool.md | 2 -
.../resources/developer-docs/contributing.md | 2 -
pgml-cms/docs/use-cases/chatbots/README.md | 9 ---
...s-with-open-source-models-in-postgresml.md | 2 -
...-with-application-data-in-your-database.md | 1 -
...rating-query-embeddings-in-the-database.md | 2 -
.../README.md | 1 -
.../css/bootstrap-5.3.0-alpha1/README.md | 15 -----
.../static/images/gym/quick_start.md | 2 -
.../examples/dbt/embeddings/README.md | 2 -
.../src/bindings/transformers/whitelist.rs | 4 +-
35 files changed, 65 insertions(+), 104 deletions(-)
create mode 100644 pgml-cms/blog/.gitbook/assets/landscape.png
create mode 100644 pgml-cms/blog/.gitbook/assets/machine-learning-platform.png
create mode 100644 pgml-cms/blog/.gitbook/assets/open-weight-models.png
create mode 100644 pgml-cms/blog/llms-are-commoditized-data-is-the-differentiator.md
diff --git a/README.md b/README.md
index c51dba987..5d16fd988 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,6 @@
-
# Table of contents
- [Introduction](#introduction)
- [Installation](#installation)
@@ -87,8 +86,6 @@ SELECT pgml.transform(
]
```
-
-
**Sentiment Analysis**
*SQL query*
@@ -117,7 +114,6 @@ SELECT pgml.transform(
- [Millions of transactions per second](https://postgresml.org/blog/scaling-postgresml-to-one-million-requests-per-second)
- [Horizontal scalability](https://github.com/postgresml/pgcat)
-
**Training a classification model**
*Training*
@@ -242,7 +238,6 @@ SELECT pgml.transform(
```
The default model used for text classification is a fine-tuned version of DistilBERT-base-uncased that has been specifically optimized for the Stanford Sentiment Treebank dataset (sst2).
-
*Using specific model*
To use one of the over 19,000 models available on Hugging Face, include the name of the desired model and `text-classification` task as a JSONB object in the SQL query. For example, if you want to use a RoBERTa model trained on around 40,000 English tweets and that has POS (positive), NEG (negative), and NEU (neutral) labels for its classes, include this information in the JSONB object when making your query.
@@ -681,7 +676,6 @@ SELECT pgml.transform(
Sampling methods involve selecting the next word or sequence of words at random from the set of possible candidates, weighted by their probabilities according to the language model. This can result in more diverse and creative text, as well as avoiding repetitive patterns. In its most basic form, sampling means randomly picking the next word $w_t$ according to its conditional probability distribution:
$$ w_t \approx P(w_t|w_{1:t-1})$$
-
However, the randomness of the sampling method can also result in less coherent or inconsistent text, depending on the quality of the model and the chosen sampling parameters such as temperature, top-k, or top-p. Therefore, choosing an appropriate sampling method and parameters is crucial for achieving the desired balance between creativity and coherence in generated text.
You can pass `do_sample = True` in the arguments to use sampling methods. It is recommended to alter `temperature` or `top_p` but not both.
@@ -821,7 +815,6 @@ SELECT * from tweet_embeddings limit 2;
|"QT @user In the original draft of the 7th book, Remus Lupin survived the Battle of Hogwarts. #HappyBirthdayRemusLupin"|{-0.1567948312,-0.3149209619,0.2163394839,..}|
|"Ben Smith / Smith (concussion) remains out of the lineup Thursday, Curtis #NHL #SJ"|{-0.0701668188,-0.012231146,0.1304316372,.. }|
-
## Step 2: Indexing your embeddings using different algorithms
After you've created embeddings for your data, you need to index them using one or more indexing algorithms. There are several different types of indexing algorithms available, including B-trees, k-nearest neighbors (KNN), and approximate nearest neighbors (ANN). The specific type of indexing algorithm you choose will depend on your use case and performance requirements. For example, B-trees are a good choice for range queries, while KNN and ANN algorithms are more efficient for similarity searches.
@@ -860,7 +853,6 @@ SELECT * FROM items, query ORDER BY items.embedding <-> query.embedding LIMIT 5;
|5 RT's if you want the next episode of twilight princess tomorrow|
|Jurassic Park is BACK! New Trailer for the 4th Movie, Jurassic World -|
-
-
# LLM Fine-tuning
In this section, we will provide a step-by-step walkthrough for fine-tuning a Language Model (LLM) for differnt tasks.
@@ -1036,7 +1027,6 @@ Fine-tuning a language model requires careful consideration of training paramete
* hub_token: Your Hugging Face API token to push the fine-tuned model to the Hugging Face Model Hub. Replace "YOUR_HUB_TOKEN" with the actual token.
* push_to_hub: A boolean flag indicating whether to push the model to the Hugging Face Model Hub after fine-tuning.
-
#### 5.3 Monitoring
During training, metrics like loss, gradient norm will be printed as info and also logged in pgml.logs table. Below is a snapshot of such output.
@@ -1151,7 +1141,6 @@ Here is an example pgml.transform call for real-time predictions on the newly mi
Time: 175.264 ms
```
-
**Batch predictions**
```sql
@@ -1247,7 +1236,6 @@ SELECT pgml.tune(
By following these steps, you can effectively restart training from a previously trained model, allowing for further refinement and adaptation of the model based on new requirements or insights. Adjust parameters as needed for your specific use case and dataset.
-
## 8. Hugging Face Hub vs. PostgresML as Model Repository
We utilize the Hugging Face Hub as the primary repository for fine-tuning Large Language Models (LLMs). Leveraging the HF hub offers several advantages:
diff --git a/pgml-apps/pgml-chat/README.md b/pgml-apps/pgml-chat/README.md
index aed2ae173..737a82914 100644
--- a/pgml-apps/pgml-chat/README.md
+++ b/pgml-apps/pgml-chat/README.md
@@ -14,7 +14,6 @@ Before you begin, make sure you have the following:
- Python version >=3.8
- (Optional) OpenAI API key
-
# Getting started
1. Create a virtual environment and install `pgml-chat` using `pip`:
```bash
@@ -104,7 +103,6 @@ model performance, as well as integrated notebooks for rapid iteration. Postgres
If you have any further questions or need more information, please feel free to send an email to team@postgresml.org or join the PostgresML Discord community at https://discord.gg/DmyJP3qJ7U.
```
-
### Slack
**Setup**
@@ -128,7 +126,6 @@ Once the slack app is running, you can interact with the chatbot on Slack as sho

-
### Discord
**Setup**
@@ -194,8 +191,6 @@ pip install .
4. Check the [roadmap](#roadmap) for features that you would like to work on.
5. If you are looking for features that are not included here, please open an issue and we will add it to the roadmap.
-
-
# Roadmap
- ~~Use a collection for chat history that can be retrieved and used to generate responses.~~
- Support for file formats like rst, html, pdf, docx, etc.
diff --git a/pgml-cms/blog/.gitbook/assets/landscape.png b/pgml-cms/blog/.gitbook/assets/landscape.png
new file mode 100644
index 0000000000000000000000000000000000000000..18560da8442ed8371eae1e27cc5f6b2f2c28c3fa
GIT binary patch
literal 964449
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
z
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