{ "cells": [ { "cell_type": "markdown", "id": "d9a1f33e-d146-4893-a73d-a8ac32632fc9", "metadata": { "tags": [] }, "source": [ "# 简介\n", "\n", "> 指导文章:[10. Top-K vs Top-P:生成式模型中的采样策略与 Temperature 调整](https://github.com/Hoper-J/LLM-Guide-and-Demos-zh_CN/blob/master/10.%20Top-K%20vs%20Top-P:生成式模型中的采样策略与%20Temperature%20的影响.md)\n", "\n", "在线链接:[Kaggle](https://www.kaggle.com/code/aidemos/08-top-k-vs-top-p-temperature) | [Colab](https://colab.research.google.com/drive/12TBFevSrZLKMpsuAX_CKL8-yJkfInmOK?usp=sharing)\n" ] }, { "cell_type": "markdown", "id": "41967363-aa88-4559-8852-ab7fb1a17ac8", "metadata": {}, "source": [ "# Top-K 采样示例" ] }, { "cell_type": "code", "execution_count": 1, "id": "ed1dc3b3-720d-484e-b233-26f16e7727e2", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Top-K 采样选择的词汇和对应的概率:\n", "C: 0.22\n", "B: 0.33\n", "A: 0.44\n" ] } ], "source": [ "import numpy as np\n", "\n", "# 概率分布\n", "probs = np.array([0.4, 0.3, 0.2, 0.05, 0.05])\n", "words = ['A', 'B', 'C', 'D', '']\n", "\n", "# 设置 Top-K\n", "K = 3\n", "\n", "# 获取概率最高的 K 个词汇索引\n", "top_indices = np.argsort(probs)[-K:]\n", "\n", "# 保留这些 K 个词汇及其概率\n", "top_k_probs = np.zeros_like(probs)\n", "top_k_probs[top_indices] = probs[top_indices]\n", "\n", "# 归一化保留的 K 个词汇的概率\n", "top_k_probs = top_k_probs / np.sum(top_k_probs)\n", "\n", "# 打印 Top-K 采样的结果\n", "print(\"Top-K 采样选择的词汇和对应的概率:\")\n", "for i in top_indices:\n", " print(f\"{words[i]}: {top_k_probs[i]:.2f}\")" ] }, { "cell_type": "markdown", "id": "445d3a45-5182-40d9-ae4e-0dbf3f10f1a9", "metadata": { "tags": [] }, "source": [ "# Top-P采样示例\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "fe195588-7566-44e7-804e-a33e78c20da5", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Top-P 采样选择的词汇和对应的概率:\n", "A: 0.57\n", "B: 0.43\n" ] } ], "source": [ "import numpy as np\n", "\n", "# 概率分布\n", "probs = np.array([0.4, 0.3, 0.2, 0.05, 0.05])\n", "words = ['A', 'B', 'C', 'D', '']\n", "\n", "# 设置 Top-P\n", "P = 0.6\n", "\n", "# 对概率进行排序\n", "sorted_indices = np.argsort(probs)[::-1] # 从大到小排序\n", "sorted_probs = probs[sorted_indices]\n", "\n", "# 累积概率\n", "cumulative_probs = np.cumsum(sorted_probs)\n", "\n", "# 找到累积概率大于等于 P 的索引\n", "cutoff_index = np.where(cumulative_probs >= P)[0][0]\n", "\n", "# 保留累积概率达到 P 的词汇及其概率\n", "top_p_probs = np.zeros_like(probs)\n", "top_p_probs[sorted_indices[:cutoff_index + 1]] = sorted_probs[:cutoff_index + 1]\n", "\n", "# 归一化保留的词汇的概率\n", "top_p_probs = top_p_probs / np.sum(top_p_probs)\n", "\n", "# 打印 Top-P 采样的结果\n", "print(\"\\nTop-P 采样选择的词汇和对应的概率:\")\n", "for i in np.where(top_p_probs > 0)[0]:\n", " print(f\"{words[i]}: {top_p_probs[i]:.2f}\")" ] }, { "cell_type": "markdown", "id": "712b7bf6-7e90-4abe-a239-53f455e1fb44", "metadata": { "tags": [] }, "source": [ "# 了解 Temperature 的影响" ] }, { "cell_type": "code", "execution_count": 3, "id": "991ba338-34a2-475e-85a1-848c574d5e82", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "--- Temperature = 0.5 ---\n", "A: 0.54\n", "B: 0.31\n", "C: 0.14\n", "D: 0.01\n", ": 0.01\n", "\n", "--- Temperature = 1.0 ---\n", "A: 0.40\n", "B: 0.30\n", "C: 0.20\n", "D: 0.05\n", ": 0.05\n", "\n", "--- Temperature = 1.5 ---\n", "A: 0.34\n", "B: 0.28\n", "C: 0.21\n", "D: 0.08\n", ": 0.08\n" ] }, { "data": { "image/png": "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Z882Op6ITX99/7W3t8fLy4vg4GCmT59Or169tEGP5BhnZ2e6detGt27duHz5Mu7u7ri6urJ161ZGjBjBk08+SWxsLKVKlaJVq1YUKlQIgIEDBxIdHc2QIUOIjIwkKCiIlStXUrFiRSDjd4oJEyZw8uRJ7OzsqFevHmvWrMl8b8+aNYtKlSoZdj2fyaorZUVERERERGzSnyZERERERETuQsVJRERERETkLlScRERERERE7kLFSURERERE5C5UnERERERERO5CxUlEREREROQuVJxERERERETuQsVJRERERETkLlScRERE7lPz5s0ZPHiw0TFERCQHqTiJiEie89lnn+Hh4UFaWlrmc3FxcTg4ONC8efPbxm7evBmTycSpU6dyOKWIiOQnKk4iIpLntGjRgri4OPbu3Zv53LZt2/D19eWPP/4gKSkp8/lNmzZRpkwZAgIC7uscVqv1tmImIiIFm4qTiIjkOZUrV6ZEiRJs3rw587nNmzfz+OOPU65cOXbt2nXb8y1atCA5OZmBAwdSvHhxnJ2dadKkCXv27LltnMlkYu3atdSpUwcnJyd+//134uPj6dmzJ+7u7pQoUYLJkyfn5EsVEZFcQsVJRETypBYtWrBp06bMf2/atInmzZvTrFmzzOcTExP5448/aNGiBcOHD+eHH35g4cKF7N+/nwoVKtCmTRtu3Lhx23FHjhzJuHHjCAsLo0aNGgwbNowtW7awYsUK1q9fz+bNm9m/f3+OvlYRETGeipOIiORJLVq0YPv27aSlpREbG8uBAwdo1qwZDz/8cOZM1M6dO0lOTqZ58+bMnj2biRMn0q5dO4KCgpgzZw4uLi7MmzfvtuO+//77PPLIIwQEBODo6Mi8efOYNGkSrVq1onr16ixcuFBL+ERECiB7owOIiIj8F82bNyc+Pp49e/Zw8+ZNKlWqRLFixWjWrBl9+vQhKSmJzZs3U758eaKjo0lNTaVx48aZn+/g4ED9+vUJCwu77bh169bN/O9Tp06RkpJCgwYNMp/z9vamcuXK2f8CRUQkV1FxEhGRPKlChQqULl2aTZs2cfPmTZo1awZAyZIl8fPzY8eOHWzatImWLVve13Hd3NyyI66IiORxWqonIiJ5VosWLdi8eTObN2++bRvyhx9+mLVr17J7925atGiRuexu+/btmWNSU1PZs2cPQUFBdzx+QEAADg4O/PHHH5nP3bx5kxMnTmTL6xERkdxLM04iIpJntWjRgv79+5Oampo54wTQrFkzXn/9dVJSUmjRogVubm707duXYcOG4e3tTZkyZZgwYQIJCQm8+OKLdzy+u7s7L774IsOGDaNIkSIUL16cN998E7NZf3cUESloVJxERCTPatGiBYmJiVSpUgUfH5/M55s1a0ZsbGzmtuUA48aNw2Kx8PzzzxMbG0vdunX55Zdf8PLysnmOiRMnEhcXR6dOnfDw8GDIkCFER0dn6+sSEZHcx2S1Wq1GhxAREREREcnNtNZARERERETkLlScRERERERE7kLFSURERERE5C5UnERERERERO5CxUlEREREROQuVJxERERERETuQsVJRERERETkLlScRERERERE7kLFSURERERE5C5UnERERERERO5CxUlEREREROQu/h8XbjigfZz10QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# 概率分布\n", "probs = np.array([0.4, 0.3, 0.2, 0.05, 0.05])\n", "words = ['A', 'B', 'C', 'D', '']\n", "\n", "# 设置 Top-K\n", "K = 5\n", "\n", "# 设置不同的 Temperature 值\n", "temperatures = [0.5, 1.0, 1.5]\n", "\n", "# 创建一个图表\n", "plt.figure(figsize=(10, 6))\n", "\n", "# 遍历不同的温度\n", "for temp in temperatures:\n", " # 使用 Temperature 调整概率\n", " adjusted_probs = probs ** (1.0 / temp)\n", " adjusted_probs = adjusted_probs / np.sum(adjusted_probs) # 归一化\n", " \n", " # 打印当前 Temperature 的概率分布\n", " print(f\"\\n--- Temperature = {temp} ---\")\n", " for i, prob in enumerate(adjusted_probs):\n", " print(f\"{words[i]}: {prob:.2f}\")\n", " \n", " # 绘制概率分布图\n", " plt.plot(words, adjusted_probs, label=f\"Temperature = {temp}\")\n", "\n", "# 绘制原始概率分布的对比\n", "plt.plot(words, probs, label=\"Original\", linestyle=\"--\", color=\"black\")\n", "\n", "# 添加图表信息\n", "plt.xlabel(\"Word\")\n", "plt.ylabel(\"Probability\")\n", "plt.title(\"Effect of Temperature on Top-K Probability Distribution\")\n", "plt.legend()\n", "\n", "# 显示图表\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "ed56c794-ddd9-4834-a312-325c4684db44", "metadata": {}, "source": [ "## 在大模型中的应用\n", "\n", "使用 Hugging Face Transformers 库的简单示例。" ] }, { "cell_type": "code", "execution_count": 4, "id": "7ff70fa8-b000-441b-9dea-853543dea6b6", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "结合 Top-K 和 Top-P 采样生成的文本:\n", "Hello GPT is a new and improved way to create a more user friendly, user-friendly and easy to use product.\n", "\n", "The GPP is an open source project, which is open-source and is based on the GPL. The\n" ] } ], "source": [ "import os\n", "# 设置模型下载镜像(注意,需要在导入 transformers 等模块前进行设置才能起效)\n", "os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'\n", "\n", "import warnings\n", "from transformers import AutoTokenizer, AutoModelForCausalLM\n", "import torch\n", "\n", "# 忽略 FutureWarning 警告\n", "warnings.filterwarnings(\"ignore\", category=FutureWarning)\n", "\n", "# 指定模型\n", "model_name = \"distilgpt2\"\n", "\n", "# 加载分词器和模型\n", "tokenizer = AutoTokenizer.from_pretrained(model_name)\n", "model = AutoModelForCausalLM.from_pretrained(model_name)\n", "\n", "# 将模型移动到设备\n", "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", "model.to(device)\n", "\n", "# 输入文本\n", "input_text = \"Hello GPT\"\n", "\n", "# 编码输入文本\n", "inputs = tokenizer.encode(input_text, return_tensors=\"pt\").to(device)\n", "attention_mask = torch.ones_like(inputs).to(device)\n", "\n", "# 设置 Top-K 和 Top-P 采样\n", "top_k = 10\n", "top_p = 0.5\n", "temperature = 0.8\n", "\n", "# 生成文本,结合 Top-K 和 Top-P 采样\n", "with torch.no_grad():\n", " outputs = model.generate(\n", " inputs,\n", " attention_mask=attention_mask,\n", " max_length=50,\n", " do_sample=True,\n", " top_k=top_k, # 设置 Top-K\n", " top_p=top_p, # 设置 Top-P\n", " temperature=temperature, # 控制生成的随机性\n", " no_repeat_ngram_size=2, # 防止重复 n-gram\n", " pad_token_id=tokenizer.eos_token_id\n", " )\n", "\n", "# 解码生成的文本\n", "generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)\n", "print(\"结合 Top-K 和 Top-P 采样生成的文本:\")\n", "print(generated_text)" ] }, { "cell_type": "code", "execution_count": null, "id": "a4fb92b5-25f1-44f7-a37e-b672dd36c4cf", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }