chore: import upstream snapshot with attribution
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"<h1>k-Nearest Neighbor Language Models</h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of the paper <a href=\"https://arxiv.org/abs/1911.00172\">Generalization through Memorization: Nearest Neighbor Language Models</a>. It uses k-nearest neighbors to improve perplexity of autoregressive transformer models.</p>\n<p>An autoregressive language model estimates <span translate=no>_^_0_^_</span>, where <span translate=no>_^_1_^_</span> is the token at step <span translate=no>_^_2_^_</span> and <span translate=no>_^_3_^_</span> is the context, <span translate=no>_^_4_^_</span>.</p>\n<p>This paper, improves <span translate=no>_^_5_^_</span> using a k-nearest neighbor search on key-value pairs <span translate=no>_^_6_^_</span>, with search key <span translate=no>_^_7_^_</span>. Here <span translate=no>_^_8_^_</span> is an embedding of the context <span translate=no>_^_9_^_</span>. The paper (and this implementation) uses the <strong>input to the feed-forward layer of the final layer of the transformer</strong> as <span translate=no>_^_10_^_</span>.</p>\n<p>We use <a href=\"https://github.com/facebookresearch/faiss\">FAISS</a> to index <span translate=no>_^_11_^_</span>.</p>\n<h3>Implementation</h3>\n<p>So to run <span translate=no>_^_12_^_</span>NN-LM we need to:</p>\n<ul><li><a href=\"train_model.html\">Train a transformer model</a> </li>\n<li><a href=\"build_index.html\">Build an index</a> of <span translate=no>_^_13_^_</span> </li>\n<li><a href=\"eval_knn.html\">Evaluate kNN-ML</a> using <span translate=no>_^_14_^_</span>NN seach on <span translate=no>_^_15_^_</span> with <span translate=no>_^_16_^_</span></li></ul>\n<p>This experiment uses a small dataset so that we can run this without using up a few hundred giga-bytes of disk space for the index.</p>\n<p>The official implementation of <span translate=no>_^_17_^_</span>NN-LM can be found <a href=\"https://github.com/urvashik/knnlm\">here</a>.</p>\n": "<h1>K \u8fd1\u90bb\u8bed\u8a00\u6a21\u578b</h1>\n<p>\u8fd9\u662f\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1911.00172\">\u901a\u8fc7\u8bb0\u5fc6\u63a8\u5e7f\uff1a\u6700\u8fd1\u90bb\u8bed\u8a00\u6a21\u578b</a>\u300b\u7684 <a href=\"https://pytorch.org\">PyTorch</a> \u5b9e\u73b0\u3002\u5b83\u4f7f\u7528 k \u6700\u8fd1\u90bb\u6765\u6539\u5584\u81ea\u56de\u5f52\u53d8\u538b\u5668\u6a21\u578b\u7684\u56f0\u60d1\u5ea6\u3002</p>\n<p>\u81ea\u56de\u5f52\u8bed\u8a00\u6a21\u578b\u4f30\u8ba1<span translate=no>_^_0_^_</span>\uff0c\u6b65\u9aa4\u4e2d\u7684\u6807\u8bb0\u5728\u54ea\u91cc<span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span>\uff0c<span translate=no>_^_3_^_</span>\u662f\u4e0a\u4e0b\u6587\uff0c<span translate=no>_^_4_^_</span>\u3002</p>\n<p>\u672c\u6587\u6539\u8fdb\u4e86<span translate=no>_^_5_^_</span>\u4f7f\u7528\u5e26\u641c\u7d22\u952e\u7684\u952e\u503c\u5bf9<span translate=no>_^_6_^_</span>\u4f7f\u7528 k \u6700\u8fd1\u90bb\u641c\u7d22\u7684\u529f\u80fd<span translate=no>_^_7_^_</span>\u3002<span translate=no>_^_8_^_</span>\u8fd9\u662f\u4e0a\u4e0b\u6587\u7684\u5d4c\u5165<span translate=no>_^_9_^_</span>\u3002\u672c\u6587\uff08\u4ee5\u53ca\u672c\u5b9e\u73b0\uff09\u4f7f\u7528<strong>\u53d8\u538b\u5668\u6700\u540e\u4e00\u5c42\u524d\u9988\u5c42\u7684\u8f93\u5165</strong>\u4f5c\u4e3a<span translate=no>_^_10_^_</span>\u3002</p>\n<p>\u6211\u4eec\u4f7f\u7528 <a href=\"https://github.com/facebookresearch/faiss\">FAISS</a> \u8fdb\u884c\u7d22\u5f15<span translate=no>_^_11_^_</span>\u3002</p>\n<h3>\u5b9e\u65bd</h3>\n<p>\u56e0\u6b64\uff0c\u8981\u8fd0\u884c<span translate=no>_^_12_^_</span> NN-LM\uff0c\u6211\u4eec\u9700\u8981\uff1a</p>\n<ul><li><a href=\"train_model.html\">\u8bad\u7ec3\u53d8\u538b\u5668\u6a21\u578b</a></li>\n<li><a href=\"build_index.html\">\u5efa\u7acb\u7d22\u5f15</a><span translate=no>_^_13_^_</span></li>\n<li>\u4f7f\u7528 <a href=\"eval_knn.html\">NN \u641c\u7d22\u6765\u8bc4\u4f30 k<span translate=no>_^_14_^_</span> nn-ML</a><span translate=no>_^_15_^_</span><span translate=no>_^_16_^_</span></li></ul>\n<p>\u8fd9\u4e2a\u5b9e\u9a8c\u4f7f\u7528\u4e86\u4e00\u4e2a\u5c0f\u6570\u636e\u96c6\uff0c\u8fd9\u6837\u6211\u4eec\u5c31\u53ef\u4ee5\u5728\u4e0d\u5360\u7528\u51e0\u767e\u5343\u5146\u5b57\u8282\u7684\u7d22\u5f15\u78c1\u76d8\u7a7a\u95f4\u7684\u60c5\u51b5\u4e0b\u8fd0\u884c\u5b83\u3002</p>\n<p><span translate=no>_^_17_^_</span>NN-LM \u7684\u5b98\u65b9\u5b9e\u73b0\u53ef\u4ee5<a href=\"https://github.com/urvashik/knnlm\">\u5728\u8fd9\u91cc</a>\u627e\u5230\u3002</p>\n",
|
||||
"This is a simple PyTorch implementation/tutorial of the paper Generalization through Memorization: Nearest Neighbor Language Models using FAISS. It runs a kNN model on the final transformer layer embeddings to improve the loss of transformer based language models. It's also great for domain adaptation without pre-training.": "\u8fd9\u662f\u8bba\u6587\u300a\u8bb0\u5fc6\u6cdb\u5316\uff1a\u4f7f\u7528FAISS\u7684\u6700\u8fd1\u90bb\u8bed\u8a00\u6a21\u578b\u300b\u7684\u7b80\u5355PyTorch\u5b9e\u73b0/\u6559\u7a0b\u3002\u5b83\u5728\u6700\u7ec8\u7684\u53d8\u538b\u5668\u5c42\u5d4c\u5165\u4e0a\u8fd0\u884ckNN\u6a21\u578b\uff0c\u4ee5\u6539\u5584\u57fa\u4e8e\u53d8\u538b\u5668\u7684\u8bed\u8a00\u6a21\u578b\u7684\u635f\u8017\u3002\u5b83\u4e5f\u975e\u5e38\u9002\u5408\u65e0\u9700\u9884\u5148\u8bad\u7ec3\u7684\u9886\u57df\u9002\u5e94\u3002",
|
||||
"k-Nearest Neighbor Language Models": "K \u8fd1\u90bb\u8bed\u8a00\u6a21\u578b"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"<h1>Build FAISS index for k-NN search</h1>\n<p>We want to build the index of <span translate=no>_^_0_^_</span>. We store <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> in memory mapped numpy arrays. We find <span translate=no>_^_3_^_</span> nearest to <span translate=no>_^_4_^_</span> using <a href=\"https://github.com/facebookresearch/faiss\">FAISS</a>. FAISS indexes <span translate=no>_^_5_^_</span> and we query it with <span translate=no>_^_6_^_</span>.</p>\n": "<h1>k-NN \u691c\u7d22\u7528\u306e FAISS \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210</h1>\n<p>\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u305f\u3044<span translate=no>_^_0_^_</span>.<span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span>\u30e1\u30e2\u30ea\u306b\u30de\u30c3\u30d7\u3055\u308c\u305fnumpy\u914d\u5217\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002<span translate=no>_^_3_^_</span><span translate=no>_^_4_^_</span><a href=\"https://github.com/facebookresearch/faiss\">FAISS\u3092\u4f7f\u3046\u306e\u306b\u4e00\u756a\u8fd1\u3044\u3068\u601d\u3044\u307e\u3059</a>\u3002<span translate=no>_^_5_^_</span>FAISS\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3001\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<span translate=no>_^_6_^_</span></p>\n",
|
||||
"<h2>Build FAISS index</h2>\n<p><a href=\"https://github.com/facebookresearch/faiss/wiki/Getting-started\">Getting started</a>, <a href=\"https://github.com/facebookresearch/faiss/wiki/Faster-search\">faster search</a>, and <a href=\"https://github.com/facebookresearch/faiss/wiki/Lower-memory-footprint\">lower memory footprint</a> tutorials on FAISS will help you learn more about FAISS usage.</p>\n": "<h2>FAISS \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u30d3\u30eb\u30c9</h2>\n<p><a href=\"https://github.com/facebookresearch/faiss/wiki/Getting-started\">FAISS\u306e\u4f7f\u3044\u65b9</a>\u3001<a href=\"https://github.com/facebookresearch/faiss/wiki/Faster-search\">\u9ad8\u901f\u691c\u7d22</a>\u3001<a href=\"https://github.com/facebookresearch/faiss/wiki/Lower-memory-footprint\">\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u524a\u6e1b\u306b\u95a2\u3059\u308b\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306f</a>\u3001FAISS\u306e\u4f7f\u7528\u6cd5\u306b\u3064\u3044\u3066\u3055\u3089\u306b\u5b66\u3076\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002</p>\n",
|
||||
"<h2>Gather <span translate=no>_^_0_^_</span> and save them in numpy arrays</h2>\n<p><em>Note that these numpy arrays will take up a lot of space (even few hundred gigabytes) depending on the size of your dataset</em>.</p>\n": "<h2><span translate=no>_^_0_^_</span>\u305d\u308c\u3089\u3092\u96c6\u3081\u3066numpy\u914d\u5217\u306b\u4fdd\u5b58\u3059\u308b</h2>\n<p><em>\u3053\u308c\u3089\u306e\u5927\u91cf\u306e\u914d\u5217\u306f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306e\u30b5\u30a4\u30ba\u306b\u3082\u3088\u308a\u307e\u3059\u304c\u3001\uff08\u6570\u767e\u30ae\u30ac\u30d0\u30a4\u30c8\u3067\u3082\uff09\u591a\u304f\u306e\u30b9\u30da\u30fc\u30b9\u3092\u5360\u3081\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044</em>\u3002</p>\n",
|
||||
"<p> Load a saved experiment from <a href=\"train_model.html\">train model</a>.</p>\n": "<p><a href=\"train_model.html\">\u4fdd\u5b58\u3057\u305f\u5b9f\u9a13\u3092\u30c8\u30ec\u30a4\u30f3\u30e2\u30c7\u30eb\u304b\u3089\u8aad\u307f\u8fbc\u307f\u307e\u3059</a>\u3002</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> the target labels </p>\n": "<p><span translate=no>_^_0_^_</span>\u30bf\u30fc\u30b2\u30c3\u30c8\u30e9\u30d9\u30eb</p>\n",
|
||||
"<p>Add keys to the index; <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u30ad\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Add them to the index for fast search </p>\n": "<p>\u7d22\u5f15\u306b\u8ffd\u52a0\u3059\u308b\u3068\u3059\u3070\u3084\u304f\u691c\u7d22\u3067\u304d\u307e\u3059</p>\n",
|
||||
"<p>Add to index </p>\n": "<p>\u7d22\u5f15\u306b\u8ffd\u52a0</p>\n",
|
||||
"<p>Build an index with Verenoi cell based faster search with compression that doesn't store full vectors. </p>\n": "<p>Verenoi \u306e\u30bb\u30eb\u30d9\u30fc\u30b9\u306e\u9ad8\u901f\u691c\u7d22\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002\u5727\u7e2e\u3067\u306f\u30d9\u30af\u30c8\u30eb\u5168\u4f53\u306f\u4fdd\u5b58\u3055\u308c\u307e\u305b\u3093\u3002</p>\n",
|
||||
"<p>Collect <span translate=no>_^_0_^_</span> </p>\n": "<p>\u53ce\u96c6 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Create configurations object </p>\n": "<p>\u8a2d\u5b9a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Dimensions of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u306e\u5bf8\u6cd5 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u53d6\u5f97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Increment the number of collected keys </p>\n": "<p>\u53ce\u96c6\u3057\u305f\u30ad\u30fc\u306e\u6570\u3092\u5897\u3084\u3057\u3066\u304f\u3060\u3055\u3044</p>\n",
|
||||
"<p>Initialize configurations </p>\n": "<p>\u69cb\u6210\u3092\u521d\u671f\u5316</p>\n",
|
||||
"<p>Input data moved to the device of the model </p>\n": "<p>\u5165\u529b\u30c7\u30fc\u30bf\u3092\u30e2\u30c7\u30eb\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u79fb\u52d5</p>\n",
|
||||
"<p>Load custom configurations used in the experiment </p>\n": "<p>\u5b9f\u9a13\u3067\u4f7f\u7528\u3057\u305f\u30ab\u30b9\u30bf\u30e0\u69cb\u6210\u3092\u8aad\u307f\u8fbc\u3080</p>\n",
|
||||
"<p>Load the experiment. Replace the run uuid with you run uuid from <a href=\"train_model.html\">training the model</a>. </p>\n": "<p>\u5b9f\u9a13\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002run UUID <a href=\"train_model.html\">\u3092\u30e2\u30c7\u30eb\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u53d6\u5f97\u3057\u305frun uuid \u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002</a></p>\n",
|
||||
"<p>Load the memory mapped numpy array of keys </p>\n": "<p>\u30e1\u30e2\u30ea\u30de\u30c3\u30d7\u3055\u308c\u305f\u30ad\u30fc\u306enumpy\u914d\u5217\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3059</p>\n",
|
||||
"<p>Loop through data </p>\n": "<p>\u30c7\u30fc\u30bf\u3092\u30eb\u30fc\u30d7\u30b9\u30eb\u30fc\u3059\u308b</p>\n",
|
||||
"<p>Number of contexts; i.e. number of tokens in the training data minus one. <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> </p>\n": "<p>\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u6570\u3002\u3064\u307e\u308a\u3001\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30c7\u30fc\u30bf\u5185\u306e\u30c8\u30fc\u30af\u30f3\u6570\u304b\u3089 1 \u3092\u5f15\u3044\u305f\u6570\u3067\u3059\u3002<span translate=no>_^_0_^_</span></p>\u306b\u3068\u3063\u3066 <span translate=no>_^_1_^_</span>\n",
|
||||
"<p>Number of keys <span translate=no>_^_0_^_</span> collected </p>\n": "<p><span translate=no>_^_0_^_</span>\u53ce\u96c6\u3055\u308c\u305f\u30ad\u30fc\u306e\u6570</p>\n",
|
||||
"<p>Numpy array for <span translate=no>_^_0_^_</span> </p>\n": "<p>\u306e\u30ca\u30f3\u30d4\u30fc\u914d\u5217 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Pick a random sample of keys to train the index with </p>\n": "<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306b\u4f7f\u7528\u3059\u308b\u30ad\u30fc\u306e\u30b5\u30f3\u30d7\u30eb\u3092\u30e9\u30f3\u30c0\u30e0\u306b\u9078\u3093\u3067\u304f\u3060\u3055\u3044</p>\n",
|
||||
"<p>Run the model </p>\n": "<p>\u30e2\u30c7\u30eb\u3092\u5b9f\u884c</p>\n",
|
||||
"<p>Save keys, <span translate=no>_^_0_^_</span> in the memory mapped numpy array </p>\n": "<p>\u30ad\u30fc\u3092\u30e1\u30e2\u30ea\u30de\u30c3\u30d7\u3055\u308c\u305fnumpy\u914d\u5217\u306b\u4fdd\u5b58 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Save the index </p>\n": "<p>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4fdd\u5b58\u3059\u308b</p>\n",
|
||||
"<p>Save values, <span translate=no>_^_0_^_</span> in the memory mapped numpy array </p>\n": "<p>\u5024\u3092\u30e1\u30e2\u30ea\u30de\u30c3\u30d7\u3055\u308c\u305fnumpy\u914d\u5217\u306b\u4fdd\u5b58\u3059\u308b <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Set model to evaluation mode </p>\n": "<p>\u30e2\u30c7\u30eb\u3092\u8a55\u4fa1\u30e2\u30fc\u30c9\u306b\u8a2d\u5b9a</p>\n",
|
||||
"<p>Set models for saving/loading </p>\n": "<p>\u4fdd\u5b58/\u8aad\u307f\u8fbc\u307f\u7528\u306e\u30e2\u30c7\u30eb\u3092\u8a2d\u5b9a</p>\n",
|
||||
"<p>Specify the experiment to load from </p>\n": "<p>\u30ed\u30fc\u30c9\u5143\u306e\u30c6\u30b9\u30c8\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044</p>\n",
|
||||
"<p>Start the experiment; this is when it actually loads models </p>\n": "<p>\u5b9f\u9a13\u3092\u958b\u59cb\u3057\u307e\u3059\u3002\u3053\u306e\u6642\u70b9\u3067\u3001\u5b9f\u969b\u306b\u30e2\u30c7\u30eb\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<p>This experiment is just an evaluation; i.e. nothing is tracked or saved </p>\n": "<p>\u3053\u306e\u5b9f\u9a13\u306f\u5358\u306a\u308b\u8a55\u4fa1\u3067\u3059\u3002\u3064\u307e\u308a\u3001\u4f55\u3082\u8ffd\u8de1\u3082\u4fdd\u5b58\u3082\u3055\u308c\u3066\u3044\u307e\u305b\u3093</p>\n",
|
||||
"<p>Train the index to store the keys </p>\n": "<p>\u30ad\u30fc\u3092\u4fdd\u5b58\u3059\u308b\u3088\u3046\u306b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3059\u308b</p>\n",
|
||||
"<p>Training data loader </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30c7\u30fc\u30bf\u30ed\u30fc\u30c0\u30fc</p>\n",
|
||||
"<p>We need to get inputs to the feed forward layer, <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30d5\u30a3\u30fc\u30c9\u30d5\u30a9\u30ef\u30fc\u30c9\u5c64\u3078\u306e\u5165\u529b\u304c\u5fc5\u8981\u3067\u3059\u304c <span translate=no>_^_0_^_</span></p>\n",
|
||||
"Build FAISS index for k-NN search": "k-NN \u691c\u7d22\u7528\u306e FAISS \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210",
|
||||
"This builds the FAISS index with the transformer embeddings.": "\u3053\u308c\u306b\u3088\u308a\u3001\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u304c\u57cb\u3081\u8fbc\u307e\u308c\u305f FAISS \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"<h1>Build FAISS index for k-NN search</h1>\n<p>We want to build the index of <span translate=no>_^_0_^_</span>. We store <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> in memory mapped numpy arrays. We find <span translate=no>_^_3_^_</span> nearest to <span translate=no>_^_4_^_</span> using <a href=\"https://github.com/facebookresearch/faiss\">FAISS</a>. FAISS indexes <span translate=no>_^_5_^_</span> and we query it with <span translate=no>_^_6_^_</span>.</p>\n": "<h1>K-nn\u0dc3\u0dd9\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf FAISS \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1</h1>\n<p>\u0d85\u0db4\u0da7\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba \u0dad\u0dd0\u0db1\u0dd3\u0db8\u0da7 \u0d85\u0dc0\u0dc1\u0dca\u0dba\u0dba\u0dd2 <span translate=no>_^_0_^_</span>. \u0d85\u0db4\u0dd2 \u0d9c\u0db6\u0da9\u0dcf <span translate=no>_^_1_^_</span> \u0d9a\u0dbb <span translate=no>_^_2_^_</span> \u0db8\u0dad\u0d9a\u0dba\u0dda \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0d9c\u0dad \u0d9a\u0dc5 \u0d85\u0dbb\u0dcf. \u0d85\u0db4\u0dd2 <a href=\"https://github.com/facebookresearch/faiss\">FAISS <span translate=no>_^_4_^_</span> </a>\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 <span translate=no>_^_3_^_</span> \u0d86\u0dc3\u0db1\u0dca\u0db1\u0dad\u0db8 \u0dc3\u0ddc\u0dba\u0dcf. FAISS \u0daf\u0dbb\u0dca\u0dc1\u0d9a <span translate=no>_^_5_^_</span> \u0dc3\u0dc4 \u0d85\u0db4\u0dd2 \u0d91\u0dba \u0dc0\u0dd2\u0db8\u0dc3\u0db1\u0dca\u0db1 <span translate=no>_^_6_^_</span>. </p>\n",
|
||||
"<h2>Build FAISS index</h2>\n<p><a href=\"https://github.com/facebookresearch/faiss/wiki/Getting-started\">Getting started</a>, <a href=\"https://github.com/facebookresearch/faiss/wiki/Faster-search\">faster search</a>, and <a href=\"https://github.com/facebookresearch/faiss/wiki/Lower-memory-footprint\">lower memory footprint</a> tutorials on FAISS will help you learn more about FAISS usage.</p>\n": "<h2>FAISS\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba \u0d9c\u0ddc\u0da9\u0db1\u0d9f</h2>\n<p><a href=\"https://github.com/facebookresearch/faiss/wiki/Getting-started\">\u0d86\u0dbb\u0db8\u0dca\u0db7</a>\u0d9a\u0dd2\u0dbb\u0dd3\u0db8, <a href=\"https://github.com/facebookresearch/faiss/wiki/Faster-search\">\u0dc0\u0dda\u0d9c\u0dc0\u0dad\u0dca \u0dc3\u0dd9\u0dc0\u0dd3\u0db8</a>\u0dc3\u0dc4 <a href=\"https://github.com/facebookresearch/faiss/wiki/Lower-memory-footprint\">\u0db8\u0dad\u0d9a \u0d85\u0da9\u0dd2\u0db4\u0dcf\u0dbb \u0db1\u0dd2\u0db6\u0db1\u0dca\u0db0\u0db1 \u0d85\u0da9\u0dd4</a>\u0d9a\u0dd2\u0dbb\u0dd3\u0db8 FAISS \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dba \u0db4\u0dd2\u0dc5\u0dd2\u0db6\u0db3 \u0dc0\u0dd0\u0da9\u0dd2\u0daf\u0dd4\u0dbb \u0daf\u0dd0\u0db1 \u0d9c\u0dd0\u0db1\u0dd3\u0db8\u0da7 FAISS \u0d94\u0db6\u0da7 \u0d8b\u0db4\u0d9a\u0dcf\u0dbb \u0d9a\u0dbb\u0db1\u0dd4 \u0d87\u0dad. </p>\n",
|
||||
"<h2>Gather <span translate=no>_^_0_^_</span> and save them in numpy arrays</h2>\n<p><em>Note that these numpy arrays will take up a lot of space (even few hundred gigabytes) depending on the size of your dataset</em>.</p>\n": "<h2>\u0d85\u0dbb\u0dcf\u0dad\u0dd4\u0dc5 \u0d92\u0dc0\u0dcf \u0d91\u0d9a\u0dad\u0dd4 <span translate=no>_^_0_^_</span> \u0d9a\u0dbb \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1</h2>\n<p><em>\u0d94\u0db6\u0d9c\u0dda\u0daf\u0dad\u0dca\u0dad \u0d9a\u0da7\u0dca\u0da7\u0dbd\u0dba\u0dda \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba \u0d85\u0db1\u0dd4\u0dc0 \u0db8\u0dd9\u0db8 \u0d85\u0dbb\u0dcf \u0dc0\u0dd2\u0dc1\u0dcf\u0dbd \u0d89\u0da9\u0d9a\u0dca (\u0d9c\u0dd2\u0d9c\u0dcf\u0db6\u0dba\u0dd2\u0da7\u0dca \u0dc3\u0dd2\u0dba \u0d9c\u0dab\u0db1\u0d9a\u0dca \u0dc0\u0dd4\u0dc0\u0daf) \u0d9c\u0db1\u0dca\u0db1\u0dcf \u0db6\u0dc0 \u0dc3\u0dbd\u0d9a\u0db1\u0dca\u0db1</em>. </p>\n",
|
||||
"<p> Load a saved experiment from <a href=\"train_model.html\">train model</a>.</p>\n": "<p> <a href=\"train_model.html\">\u0daf\u0dd4\u0db8\u0dca\u0dbb\u0dd2\u0dba \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0dd9\u0db1\u0dca</a>\u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1 \u0dbd\u0daf \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0d9a\u0dca \u0db4\u0da7\u0dc0\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> the target labels </p>\n": "<p><span translate=no>_^_0_^_</span> \u0d89\u0dbd\u0d9a\u0dca\u0d9a\u0d9c\u0dad \u0dbd\u0dda\u0db6\u0dbd </p>\n",
|
||||
"<p>Add keys to the index; <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba\u0da7\u0dba\u0dad\u0dd4\u0dbb\u0dd4 \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1; <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Add them to the index for fast search </p>\n": "<p>\u0dc0\u0dda\u0d9c\u0dc0\u0dad\u0dca\u0dc3\u0dd9\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d92\u0dc0\u0dcf \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba\u0da7 \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Add to index </p>\n": "<p>\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba\u0da7\u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Build an index with Verenoi cell based faster search with compression that doesn't store full vectors. </p>\n": "<p>\u0db4\u0dd6\u0dbb\u0dca\u0dab\u0daf\u0ddb\u0dc1\u0dd2\u0d9a \u0d9c\u0db6\u0da9\u0dcf \u0db1\u0ddc\u0d9a\u0dbb\u0db1 \u0dc3\u0db8\u0dca\u0db4\u0dd3\u0da9\u0db1\u0dba \u0dc3\u0db8\u0d9f \u0dc0\u0dd9\u0dbb\u0dd9\u0db1\u0ddd\u0dba\u0dd2 \u0dc3\u0ddb\u0dbd \u0db8\u0dad \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd6 \u0dc0\u0dda\u0d9c\u0dc0\u0dad\u0dca \u0dc3\u0dd9\u0dc0\u0dd4\u0db8\u0d9a\u0dca \u0dc3\u0dc4\u0dd2\u0dad \u0dc3\u0dd6\u0da0\u0d9a\u0dba\u0d9a\u0dca \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<p>Collect <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d91\u0d9a\u0dad\u0dd4\u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Create configurations object </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dc0\u0dc3\u0dca\u0dad\u0dd4\u0dc0 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Dimensions of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db8\u0dcf\u0db1\u0dba\u0db1\u0dca <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dbd\u0db6\u0dcf\u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Increment the number of collected keys </p>\n": "<p>\u0d91\u0d9a\u0dad\u0dd4\u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dba\u0dad\u0dd4\u0dbb\u0dd4 \u0dc3\u0d82\u0d9b\u0dca\u0dba\u0dcf\u0dc0 \u0dc0\u0dd0\u0da9\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 </p>\n",
|
||||
"<p>Initialize configurations </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca\u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Input data moved to the device of the model </p>\n": "<p>\u0d86\u0daf\u0dcf\u0db1\u0daf\u0dad\u0dca\u0dad \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0dda \u0d8b\u0db4\u0dcf\u0d82\u0d9c\u0dba \u0dc0\u0dd9\u0dad \u0d9c\u0dd9\u0db1 \u0d9c\u0dd2\u0dba\u0dda\u0dba </p>\n",
|
||||
"<p>Load custom configurations used in the experiment </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0dda\u0daf\u0dd3 \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1 \u0d85\u0db7\u0dd2\u0dbb\u0dd4\u0da0\u0dd2 \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca \u0db4\u0dd6\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Load the experiment. Replace the run uuid with you run uuid from <a href=\"train_model.html\">training the model</a>. </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0db4\u0dd6\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1. <a href=\"train_model.html\">\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4</a>\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0d94\u0db6 uuid \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0dc3\u0db8\u0d9f uuid \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<p>Load the memory mapped numpy array of keys </p>\n": "<p>\u0db8\u0dad\u0d9a\u0dba\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0d9c\u0dad \u0d9a\u0dc5 \u0d85\u0d82\u0d9a\u0dd2\u0dad \u0dba\u0dad\u0dd4\u0dbb\u0dd4 \u0d85\u0dbb\u0dcf\u0dc0 \u0db4\u0dd6\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Loop through data </p>\n": "<p>\u0daf\u0dad\u0dca\u0dad\u0dc4\u0dbb\u0dc4\u0dcf \u0dbd\u0dd6\u0db4 </p>\n",
|
||||
"<p>Number of contexts; i.e. number of tokens in the training data minus one. <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> </p>\n": "<p>\u0dc3\u0db1\u0dca\u0daf\u0dbb\u0dca\u0db7\u0dba\u0db1\u0dca\u0d9c\u0dab\u0db1; \u0d91\u0db1\u0db8\u0dca \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0daf\u0dad\u0dca\u0dad\u0dc0\u0dbd \u0da7\u0ddd\u0d9a\u0db1 \u0d9c\u0dab\u0db1 us \u0dab \u0d91\u0d9a\u0d9a\u0dca. <span translate=no>_^_0_^_</span> </p>\u0dc3\u0db3\u0dc4\u0dcf <span translate=no>_^_1_^_</span>\n",
|
||||
"<p>Number of keys <span translate=no>_^_0_^_</span> collected </p>\n": "<p><span translate=no>_^_0_^_</span> \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dba\u0dad\u0dd4\u0dbb\u0dd4 \u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Numpy array for <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc3\u0db3\u0dc4\u0dcf\u0d85\u0d82\u0d9a\u0dd4\u0dbb \u0d85\u0dbb\u0dcf\u0dc0 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Pick a random sample of keys to train the index with </p>\n": "<p>\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dba\u0dad\u0dd4\u0dbb\u0dd4 \u0d85\u0dc4\u0db9\u0dd4 \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba\u0d9a\u0dca \u0dad\u0ddd\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Run the model </p>\n": "<p>\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Save keys, <span translate=no>_^_0_^_</span> in the memory mapped numpy array </p>\n": "<p>\u0dba\u0dad\u0dd4\u0dbb\u0dd4\u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1, <span translate=no>_^_0_^_</span> \u0db8\u0dad\u0d9a\u0dba\u0dda \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9c\u0dad \u0d9a\u0dc5 \u0d85\u0d82\u0d9a\u0db1 \u0d85\u0dbb\u0dcf\u0dc0 \u0dad\u0dd4\u0dc5 </p>\n",
|
||||
"<p>Save the index </p>\n": "<p>\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba\u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Save values, <span translate=no>_^_0_^_</span> in the memory mapped numpy array </p>\n": "<p>\u0db8\u0dad\u0d9a\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9c\u0dad \u0d9a\u0dc5 \u0d85\u0d82\u0d9a\u0db1 \u0d85\u0dbb\u0dcf\u0dc0 <span translate=no>_^_0_^_</span> \u0dad\u0dd4\u0dc5 \u0d85\u0d9c\u0dba\u0db1\u0dca \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Set model to evaluation mode </p>\n": "<p>\u0d87\u0d9c\u0dba\u0dd3\u0db8\u0dca\u0db4\u0dca\u0dbb\u0d9a\u0dcf\u0dbb\u0dba\u0da7 \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Set models for saving/loading </p>\n": "<p>\u0d89\u0dad\u0dd2\u0dbb\u0dd2\u0d9a\u0dd2\u0dbb\u0dd3\u0db8/\u0db4\u0dd0\u0da7\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2 \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Specify the experiment to load from </p>\n": "<p>\u0dc3\u0dd2\u0da7\u0db4\u0dd0\u0da7\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0db1\u0dd2\u0dba\u0db8 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Start the experiment; this is when it actually loads models </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1; \u0db8\u0dd9\u0dba \u0d87\u0dad\u0dca\u0dad \u0dc0\u0dc1\u0dba\u0dd9\u0db1\u0dca\u0db8 \u0d86\u0d9a\u0dd8\u0dad\u0dd2 \u0db4\u0da7\u0dc0\u0db1 \u0dc0\u0dd2\u0da7 </p>\n",
|
||||
"<p>This experiment is just an evaluation; i.e. nothing is tracked or saved </p>\n": "<p>\u0db8\u0dd9\u0db8\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0d87\u0d9c\u0dba\u0dd3\u0db8\u0d9a\u0dca \u0db4\u0db8\u0dab\u0dd2; \u0d91\u0db1\u0db8\u0dca \u0d9a\u0dd2\u0dc3\u0dd2\u0dc0\u0d9a\u0dca \u0dbd\u0dd4\u0dc4\u0dd4\u0db6\u0dd0\u0db3 \u0dc4\u0ddd \u0d9c\u0dd0\u0dbd\u0dc0\u0dd3\u0db8 \u0db1\u0dd0\u0dad </p>\n",
|
||||
"<p>Train the index to store the keys </p>\n": "<p>\u0dba\u0dad\u0dd4\u0dbb\u0dd4\u0d9c\u0db6\u0da9\u0dcf \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Training data loader </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0daf\u0dad\u0dca\u0dad \u0db4\u0dd0\u0da7\u0dc0\u0dd4\u0db8 </p>\n",
|
||||
"<p>We need to get inputs to the feed forward layer, <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d85\u0db4\u0da7\u0d86\u0dc4\u0dcf\u0dbb \u0d89\u0daf\u0dd2\u0dbb\u0dd2 \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0da7 \u0dba\u0dd9\u0daf\u0dc0\u0dd4\u0db8\u0dca \u0dbd\u0db6\u0dcf \u0d9c\u0dad \u0dba\u0dd4\u0dad\u0dd4\u0dba, <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"Build FAISS index for k-NN search": "K-nn \u0dc3\u0dd9\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf FAISS \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1",
|
||||
"This builds the FAISS index with the transformer embeddings.": "\u0db8\u0dd9\u0dba \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0d9a\u0dcf\u0dc0\u0dd0\u0daf\u0dca\u0daf\u0dd3\u0db8\u0dca \u0dc3\u0db8\u0d9f FAISS \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba \u0d9c\u0ddc\u0da9\u0db1\u0d9f\u0dba\u0dd2."
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"<h1>Build FAISS index for k-NN search</h1>\n<p>We want to build the index of <span translate=no>_^_0_^_</span>. We store <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> in memory mapped numpy arrays. We find <span translate=no>_^_3_^_</span> nearest to <span translate=no>_^_4_^_</span> using <a href=\"https://github.com/facebookresearch/faiss\">FAISS</a>. FAISS indexes <span translate=no>_^_5_^_</span> and we query it with <span translate=no>_^_6_^_</span>.</p>\n": "<h1>\u4e3a k-nn \u641c\u7d22\u5efa\u7acb FAISS \u7d22\u5f15</h1>\n<p>\u6211\u4eec\u8981\u5efa\u7acb\u7684\u7d22\u5f15<span translate=no>_^_0_^_</span>\u3002\u6211\u4eec\u5728\u5185\u5b58<span translate=no>_^_2_^_</span>\u4e2d\u5b58\u50a8<span translate=no>_^_1_^_</span>\u6620\u5c04\u7684 numpy \u6570\u7ec4\u3002\u6211\u4eec\u53d1\u73b0<span translate=no>_^_3_^_</span>\u6700\u63a5\u8fd1<span translate=no>_^_4_^_</span>\u4f7f\u7528 <a href=\"https://github.com/facebookresearch/faiss\">FAISS</a>\u3002FAISS \u7d22\u5f15<span translate=no>_^_5_^_</span>\uff0c\u6211\u4eec\u4f7f\u7528\u8fdb\u884c\u67e5\u8be2<span translate=no>_^_6_^_</span>\u3002</p>\n",
|
||||
"<h2>Build FAISS index</h2>\n<p><a href=\"https://github.com/facebookresearch/faiss/wiki/Getting-started\">Getting started</a>, <a href=\"https://github.com/facebookresearch/faiss/wiki/Faster-search\">faster search</a>, and <a href=\"https://github.com/facebookresearch/faiss/wiki/Lower-memory-footprint\">lower memory footprint</a> tutorials on FAISS will help you learn more about FAISS usage.</p>\n": "<h2>\u5efa\u7acb FAISS \u6307\u6570</h2>\n<p><a href=\"https://github.com/facebookresearch/faiss/wiki/Getting-started\">\u5165\u95e8</a>\u3001<a href=\"https://github.com/facebookresearch/faiss/wiki/Faster-search\">\u66f4\u5feb\u7684\u641c\u7d22</a>\u548c\u66f4<a href=\"https://github.com/facebookresearch/faiss/wiki/Lower-memory-footprint\">\u4f4e\u7684\u5185\u5b58\u5360\u7528</a>\u6559\u7a0bFAISS \u5c06\u5e2e\u52a9\u60a8\u8fdb\u4e00\u6b65\u4e86\u89e3 FAISS \u7684\u4f7f\u7528\u60c5\u51b5\u3002</p>\n",
|
||||
"<h2>Gather <span translate=no>_^_0_^_</span> and save them in numpy arrays</h2>\n<p><em>Note that these numpy arrays will take up a lot of space (even few hundred gigabytes) depending on the size of your dataset</em>.</p>\n": "<h2>\u5c06\u5b83\u4eec\u6536\u96c6<span translate=no>_^_0_^_</span>\u5e76\u4fdd\u5b58\u5728numpy\u6570\u7ec4\u4e2d</h2>\n<p><em>\u8bf7\u6ce8\u610f\uff0c\u8fd9\u4e9b numpy \u6570\u7ec4\u5c06\u5360\u7528\u5927\u91cf\u7a7a\u95f4\uff08\u751a\u81f3\u51e0\u767e\u5343\u5146\u5b57\u8282\uff09\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u6570\u636e\u96c6\u7684\u5927\u5c0f</em>\u3002</p>\n",
|
||||
"<p> Load a saved experiment from <a href=\"train_model.html\">train model</a>.</p>\n": "<p>\u4ece<a href=\"train_model.html\">\u8bad\u7ec3\u6a21\u578b</a>\u52a0\u8f7d\u5df2\u4fdd\u5b58\u7684\u5b9e\u9a8c\u3002</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> the target labels </p>\n": "<p><span translate=no>_^_0_^_</span>\u76ee\u6807\u6807\u7b7e</p>\n",
|
||||
"<p>Add keys to the index; <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5728\u7d22\u5f15\u4e2d\u6dfb\u52a0\u5bc6\u94a5\uff1b<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Add them to the index for fast search </p>\n": "<p>\u5c06\u5b83\u4eec\u6dfb\u52a0\u5230\u7d22\u5f15\u4e2d\u4ee5\u4fbf\u5feb\u901f\u641c\u7d22</p>\n",
|
||||
"<p>Add to index </p>\n": "<p>\u6dfb\u52a0\u5230\u7d22\u5f15</p>\n",
|
||||
"<p>Build an index with Verenoi cell based faster search with compression that doesn't store full vectors. </p>\n": "<p>\u4f7f\u7528\u57fa\u4e8eVerenoi\u5355\u5143\u683c\u7684\u5feb\u901f\u641c\u7d22\u6784\u5efa\u7d22\u5f15\uff0c\u538b\u7f29\u4e0d\u4f1a\u5b58\u50a8\u5b8c\u6574\u5411\u91cf\u3002</p>\n",
|
||||
"<p>Collect <span translate=no>_^_0_^_</span> </p>\n": "<p>\u6536\u96c6<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Create configurations object </p>\n": "<p>\u521b\u5efa\u914d\u7f6e\u5bf9\u8c61</p>\n",
|
||||
"<p>Dimensions of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u7684\u5c3a\u5bf8<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5f97\u5230<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Increment the number of collected keys </p>\n": "<p>\u589e\u52a0\u6536\u96c6\u7684\u5bc6\u94a5\u6570\u91cf</p>\n",
|
||||
"<p>Initialize configurations </p>\n": "<p>\u521d\u59cb\u5316\u914d\u7f6e</p>\n",
|
||||
"<p>Input data moved to the device of the model </p>\n": "<p>\u8f93\u5165\u6570\u636e\u5df2\u79fb\u81f3\u6a21\u578b\u7684\u8bbe\u5907</p>\n",
|
||||
"<p>Load custom configurations used in the experiment </p>\n": "<p>\u52a0\u8f7d\u5b9e\u9a8c\u4e2d\u4f7f\u7528\u7684\u81ea\u5b9a\u4e49\u914d\u7f6e</p>\n",
|
||||
"<p>Load the experiment. Replace the run uuid with you run uuid from <a href=\"train_model.html\">training the model</a>. </p>\n": "<p>\u52a0\u8f7d\u5b9e\u9a8c\u3002\u5c06 run uuid \u66ff\u6362\u4e3a\u4f60\u5728<a href=\"train_model.html\">\u8bad\u7ec3\u6a21\u578b\u65f6\u8fd0\u884c\u7684</a> uuid\u3002</p>\n",
|
||||
"<p>Load the memory mapped numpy array of keys </p>\n": "<p>\u52a0\u8f7d\u5185\u5b58\u6620\u5c04\u7684 numpy \u952e\u6570\u7ec4</p>\n",
|
||||
"<p>Loop through data </p>\n": "<p>\u5faa\u73af\u6d4f\u89c8\u6570\u636e</p>\n",
|
||||
"<p>Number of contexts; i.e. number of tokens in the training data minus one. <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> </p>\n": "<p>\u4e0a\u4e0b\u6587\u7684\u6570\u91cf\uff1b\u5373\u8bad\u7ec3\u6570\u636e\u4e2d\u7684\u4ee4\u724c\u6570\u51cf\u4e00\u3002<span translate=no>_^_0_^_</span>\u5bf9\u4e8e<span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Number of keys <span translate=no>_^_0_^_</span> collected </p>\n": "<p><span translate=no>_^_0_^_</span>\u6536\u96c6\u7684\u94a5\u5319\u6570\u91cf</p>\n",
|
||||
"<p>Numpy array for <span translate=no>_^_0_^_</span> </p>\n": "<p>Numpy \u6570\u7ec4\u7528\u4e8e<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Pick a random sample of keys to train the index with </p>\n": "<p>\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u952e\u6837\u672c\u6765\u8bad\u7ec3\u7d22\u5f15</p>\n",
|
||||
"<p>Run the model </p>\n": "<p>\u8fd0\u884c\u6a21\u578b</p>\n",
|
||||
"<p>Save keys, <span translate=no>_^_0_^_</span> in the memory mapped numpy array </p>\n": "<p><span translate=no>_^_0_^_</span>\u5728\u5185\u5b58\u6620\u5c04\u7684 numpy \u6570\u7ec4\u4e2d\u4fdd\u5b58\u952e</p>\n",
|
||||
"<p>Save the index </p>\n": "<p>\u4fdd\u5b58\u7d22\u5f15</p>\n",
|
||||
"<p>Save values, <span translate=no>_^_0_^_</span> in the memory mapped numpy array </p>\n": "<p><span translate=no>_^_0_^_</span>\u5728\u5185\u5b58\u6620\u5c04\u7684 numpy \u6570\u7ec4\u4e2d\u4fdd\u5b58\u503c</p>\n",
|
||||
"<p>Set model to evaluation mode </p>\n": "<p>\u5c06\u6a21\u578b\u8bbe\u7f6e\u4e3a\u8bc4\u4f30\u6a21\u5f0f</p>\n",
|
||||
"<p>Set models for saving/loading </p>\n": "<p>\u8bbe\u7f6e\u7528\u4e8e\u4fdd\u5b58/\u52a0\u8f7d\u7684\u6a21\u578b</p>\n",
|
||||
"<p>Specify the experiment to load from </p>\n": "<p>\u6307\u5b9a\u8981\u4ece\u4e2d\u52a0\u8f7d\u7684\u5b9e\u9a8c</p>\n",
|
||||
"<p>Start the experiment; this is when it actually loads models </p>\n": "<p>\u5f00\u59cb\u5b9e\u9a8c\uff1b\u8fd9\u662f\u5b83\u5b9e\u9645\u52a0\u8f7d\u6a21\u578b\u7684\u65f6\u5019</p>\n",
|
||||
"<p>This experiment is just an evaluation; i.e. nothing is tracked or saved </p>\n": "<p>\u8fd9\u4e2a\u5b9e\u9a8c\u53ea\u662f\u4e00\u4e2a\u8bc4\u4f30\uff1b\u4e5f\u5c31\u662f\u8bf4\uff0c\u6ca1\u6709\u8ffd\u8e2a\u6216\u4fdd\u5b58\u4efb\u4f55\u4e1c\u897f</p>\n",
|
||||
"<p>Train the index to store the keys </p>\n": "<p>\u8bad\u7ec3\u7d22\u5f15\u4ee5\u5b58\u50a8\u5bc6\u94a5</p>\n",
|
||||
"<p>Training data loader </p>\n": "<p>\u8bad\u7ec3\u6570\u636e\u52a0\u8f7d\u5668</p>\n",
|
||||
"<p>We need to get inputs to the feed forward layer, <span translate=no>_^_0_^_</span> </p>\n": "<p>\u6211\u4eec\u9700\u8981\u83b7\u53d6\u524d\u9988\u5c42\u7684\u8f93\u5165\uff0c<span translate=no>_^_0_^_</span></p>\n",
|
||||
"Build FAISS index for k-NN search": "\u4e3a k-nn \u641c\u7d22\u5efa\u7acb FAISS \u7d22\u5f15",
|
||||
"This builds the FAISS index with the transformer embeddings.": "\u8fd9\u5c06\u4f7f\u7528\u53d8\u538b\u5668\u5d4c\u5165\u6784\u5efa FAISS \u7d22\u5f15\u3002"
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"<h1>Evaluate k-nearest neighbor language model</h1>\n": "<h1>k-\u6700\u8fd1\u508d\u8a00\u8a9e\u30e2\u30c7\u30eb\u306e\u8a55\u4fa1</h1>\n",
|
||||
"<h2><span translate=no>_^_0_^_</span>-NN to get <span translate=no>_^_1_^_</span></h2>\n<p>Here we refer to <span translate=no>_^_2_^_</span> as queries, <span translate=no>_^_3_^_</span> as keys and <span translate=no>_^_4_^_</span> as values.</p>\n": "<h2><span translate=no>_^_0_^_</span>-NN \u3067\u53d6\u5f97 <span translate=no>_^_1_^_</span></h2>\n<p>\u3053\u3053\u3067\u306f\u3001\u30af\u30a8\u30ea\u3001<span translate=no>_^_3_^_</span>\u30ad\u30fc\u3001<span translate=no>_^_4_^_</span>\u5024\u3068\u547c\u3073\u307e\u3059\u3002<span translate=no>_^_2_^_</span></p>\n",
|
||||
"<h2>Calculate validation loss</h2>\n<p>We calculate the validation loss of the combined on <span translate=no>_^_0_^_</span>-NN prediction and transformer prediction. The weight given to the <span translate=no>_^_1_^_</span>-NN model is given by <span translate=no>_^_2_^_</span>. It's a list of weights and we calculate the validation loss for each.</p>\n": "<h2>\u691c\u8a3c\u640d\u5931\u306e\u8a08\u7b97</h2>\n<p><span translate=no>_^_0_^_</span>-NN \u4e88\u6e2c\u3068\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u4e88\u6e2c\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u5834\u5408\u306e\u691c\u8a3c\u640d\u5931\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002<span translate=no>_^_1_^_</span>-NN \u30e2\u30c7\u30eb\u306b\u4e0e\u3048\u3089\u308c\u308b\u91cd\u307f\u306f\u3067\u4e0e\u3048\u3089\u308c\u307e\u3059\u3002<span translate=no>_^_2_^_</span>\u3053\u308c\u306f\u91cd\u307f\u306e\u30ea\u30b9\u30c8\u3067\u3001\u305d\u308c\u305e\u308c\u306e\u691c\u8a3c\u640d\u5931\u3092\u8a08\u7b97\u3057\u307e\u3059</p>\u3002\n",
|
||||
"<h2>Load the index</h2>\n": "<h2>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u8aad\u307f\u8fbc\u3080</h2>\n",
|
||||
"<p>Calculate scores for each of <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u305d\u308c\u305e\u308c\u306e\u30b9\u30b3\u30a2\u3092\u8a08\u7b97\u3057\u307e\u3059<span translate=no>_^_0_^_</span>\u3002</p>\n",
|
||||
"<p>Calculate the loss </p>\n": "<p>\u640d\u5931\u306e\u8a08\u7b97</p>\n",
|
||||
"<p>Dimensions of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u306e\u5bf8\u6cd5 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Evaluate validation loss </p>\n": "<p>\u691c\u8a3c\u640d\u5931\u306e\u8a55\u4fa1</p>\n",
|
||||
"<p>Find 10 nearest neighbors of <span translate=no>_^_0_^_</span> among <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> is the distance given by FAISS and <span translate=no>_^_3_^_</span>, <span translate=no>_^_4_^_</span> is the index of it in <span translate=no>_^_5_^_</span>. </p>\n": "<p><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u305d\u306e\u4e2d\u304b\u3089\u6700\u3082\u8fd1\u3044\u96a3\u4eba\u309210\u4eba\u898b\u3064\u3051\u308b\u3002<span translate=no>_^_2_^_</span>\u306fFAISS\u3067\u4e0e\u3048\u3089\u308c\u305f\u8ddd\u96e2\u3067<span translate=no>_^_3_^_</span>\u3001<span translate=no>_^_4_^_</span>\u306f\u305d\u306e\u8ddd\u96e2\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u3059</p>\u3002<span translate=no>_^_5_^_</span>\n",
|
||||
"<p>Flatten the <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> dimensions of queries </p>\n": "<p><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u30af\u30a8\u30ea\u306e\u6b21\u5143\u3068\u6b21\u5143\u3092\u5e73\u5766\u5316</p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u53d6\u5f97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span>-NN predictions </p>\n": "<p><span translate=no>_^_0_^_</span>-NN \u4e88\u6e2c\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get data and target labels </p>\n": "<p>\u30c7\u30fc\u30bf\u3068\u30bf\u30fc\u30b2\u30c3\u30c8\u30e9\u30d9\u30eb\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get the dot-product, or cosine similarity </p>\n": "<p>\u70b9\u7a4d\u307e\u305f\u306f\u30b3\u30b5\u30a4\u30f3\u985e\u4f3c\u5ea6\u3092\u6c42\u3081\u308b</p>\n",
|
||||
"<p>Iterate through validation data </p>\n": "<p>\u691c\u8a3c\u30c7\u30fc\u30bf\u3092\u7e70\u308a\u8fd4\u3057\u51e6\u7406</p>\n",
|
||||
"<p>List of losses for each <span translate=no>_^_0_^_</span> </p>\n": "<p>\u305d\u308c\u305e\u308c\u306e\u640d\u5931\u306e\u30ea\u30b9\u30c8 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>List of weights given to <span translate=no>_^_0_^_</span>-NN prediction. We will evaluate the validation loss for each of the weights </p>\n": "<p><span translate=no>_^_0_^_</span>-NN \u4e88\u6e2c\u306b\u4e0e\u3048\u3089\u308c\u308b\u91cd\u307f\u306e\u30ea\u30b9\u30c8\u3002\u305d\u308c\u305e\u308c\u306e\u91cd\u307f\u306e\u691c\u8a3c\u640d\u5931\u3092\u8a55\u4fa1\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p>Load FAISS index </p>\n": "<p>FAISS \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u30ed\u30fc\u30c9</p>\n",
|
||||
"<p>Load index </p>\n": "<p>\u30ed\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9</p>\n",
|
||||
"<p>Load memory mapped numpy arrays </p>\n": "<p>\u30e1\u30e2\u30ea\u30de\u30c3\u30d7\u3055\u308c\u305f numpy \u914d\u5217\u3092\u30ed\u30fc\u30c9</p>\n",
|
||||
"<p>Load the experiment. Replace the run uuid with you run uuid from <a href=\"train_model.html\">training the model</a>. </p>\n": "<p>\u5b9f\u9a13\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002run UUID <a href=\"train_model.html\">\u3092\u30e2\u30c7\u30eb\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u53d6\u5f97\u3057\u305frun uuid \u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002</a></p>\n",
|
||||
"<p>Normalize <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30ce\u30fc\u30de\u30e9\u30a4\u30ba <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Number of contexts; i.e. number of tokens in the training data minus one. <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> </p>\n": "<p>\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u6570\u3002\u3064\u307e\u308a\u3001\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30c7\u30fc\u30bf\u5185\u306e\u30c8\u30fc\u30af\u30f3\u6570\u304b\u3089 1 \u3092\u5f15\u3044\u305f\u6570\u3067\u3059\u3002<span translate=no>_^_0_^_</span></p>\u306b\u3068\u3063\u3066 <span translate=no>_^_1_^_</span>\n",
|
||||
"<p>Number of samples </p>\n": "<p>\u30b5\u30f3\u30d7\u30eb\u6570</p>\n",
|
||||
"<p>Number of samples in each batch </p>\n": "<p>\u5404\u30d0\u30c3\u30c1\u306e\u30b5\u30f3\u30d7\u30eb\u6570</p>\n",
|
||||
"<p>Output the losses for each of <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u305d\u308c\u305e\u308c\u306e\u640d\u5931\u3092\u51fa\u529b\u3057\u307e\u3059<span translate=no>_^_0_^_</span>\u3002</p>\n",
|
||||
"<p>Reshape the logits </p>\n": "<p>\u30ed\u30b8\u30c3\u30c8\u306e\u5f62\u72b6\u3092\u5909\u3048\u308b</p>\n",
|
||||
"<p>Run the model and get predictions <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30e2\u30c7\u30eb\u3092\u5b9f\u884c\u3057\u3066\u4e88\u6e2c\u3092\u53d6\u5f97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Save shape of queries to reshape results </p>\n": "<p>\u30af\u30a8\u30ea\u306e\u5f62\u72b6\u3092\u4fdd\u5b58\u3057\u3066\u7d50\u679c\u306e\u5f62\u72b6\u3092\u5909\u3048\u308b</p>\n",
|
||||
"<p>Scatter and accumulate token logits based on the nearest neighbors </p>\n": "<p>\u6700\u3082\u8fd1\u3044\u96a3\u4eba\u306b\u57fa\u3065\u3044\u3066\u30c8\u30fc\u30af\u30f3\u30ed\u30b8\u30c3\u30c8\u3092\u5206\u6563\u3057\u3066\u84c4\u7a4d\u3059\u308b</p>\n",
|
||||
"<p>Set model to evaluation mode </p>\n": "<p>\u30e2\u30c7\u30eb\u3092\u8a55\u4fa1\u30e2\u30fc\u30c9\u306b\u8a2d\u5b9a</p>\n",
|
||||
"<p>Set number of cells to probe </p>\n": "<p>\u30d7\u30ed\u30fc\u30d6\u3059\u308b\u30bb\u30eb\u306e\u6570\u3092\u8a2d\u5b9a</p>\n",
|
||||
"<p>This is to calculate only the loss for <span translate=no>_^_0_^_</span> tokens. This is important because the first predictions (along the sequence) of transformer model has very few past tokens to look at. </p>\n": "<p><span translate=no>_^_0_^_</span>\u3053\u308c\u306f\u30c8\u30fc\u30af\u30f3\u306e\u640d\u5931\u306e\u307f\u3092\u8a08\u7b97\u3059\u308b\u305f\u3081\u306e\u3082\u306e\u3067\u3059\u3002\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u30e2\u30c7\u30eb\u306e\uff08\u30b7\u30fc\u30b1\u30f3\u30b9\u306b\u6cbf\u3063\u305f\uff09\u6700\u521d\u306e\u4e88\u6e2c\u3067\u306f\u3001\u8abf\u3079\u308b\u3079\u304d\u904e\u53bb\u306e\u30c8\u30fc\u30af\u30f3\u304c\u307b\u3068\u3093\u3069\u306a\u3044\u305f\u3081\u3001\u3053\u308c\u306f\u91cd\u8981\u3067\u3059</p>\u3002\n",
|
||||
"<p>Token-wise logits </p>\n": "<p>\u30c8\u30fc\u30af\u30f3\u3054\u3068\u306e\u30ed\u30b8\u30c3\u30c8</p>\n",
|
||||
"<p>Training data loader </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30c7\u30fc\u30bf\u30ed\u30fc\u30c0\u30fc</p>\n",
|
||||
"<p>We are going to calculate the cosine similarity between normalized vectors </p>\n": "<p>\u6b63\u898f\u5316\u3055\u308c\u305f\u30d9\u30af\u30c8\u30eb\u9593\u306e\u30b3\u30b5\u30a4\u30f3\u985e\u4f3c\u5ea6\u3092\u8a08\u7b97\u3057\u307e\u3059</p>\n",
|
||||
"Evaluate k-nearest neighbor language model": "k-\u6700\u8fd1\u508d\u8a00\u8a9e\u30e2\u30c7\u30eb\u306e\u8a55\u4fa1",
|
||||
"This runs the kNN model and merges the kNN results with transformer output to achieve better results than just using the transformer.": "\u3053\u308c\u306b\u3088\u308a kNN \u30e2\u30c7\u30eb\u304c\u5b9f\u884c\u3055\u308c\u3001kNN \u306e\u7d50\u679c\u304c\u30c8\u30e9\u30f3\u30b9\u51fa\u529b\u3068\u30de\u30fc\u30b8\u3055\u308c\u308b\u305f\u3081\u3001\u30c8\u30e9\u30f3\u30b9\u3060\u3051\u3092\u4f7f\u7528\u3059\u308b\u3088\u308a\u3082\u512a\u308c\u305f\u7d50\u679c\u304c\u5f97\u3089\u308c\u307e\u3059\u3002"
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"<h1>Evaluate k-nearest neighbor language model</h1>\n": "<h1>k-\u0dc5\u0d9f\u0db8\u0d85\u0dc3\u0dbd\u0dca\u0dc0\u0dd0\u0dc3\u0dd2\u0dba\u0dcf\u0d9c\u0dda \u0db7\u0dcf\u0dc2\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0dad\u0d9a\u0dca\u0dc3\u0dda\u0dbb\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1</h1>\n",
|
||||
"<h2><span translate=no>_^_0_^_</span>-NN to get <span translate=no>_^_1_^_</span></h2>\n<p>Here we refer to <span translate=no>_^_2_^_</span> as queries, <span translate=no>_^_3_^_</span> as keys and <span translate=no>_^_4_^_</span> as values.</p>\n": "<h2><span translate=no>_^_0_^_</span>-NN \u0dbd\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8\u0da7 <span translate=no>_^_1_^_</span></h2>\n<p>\u0db8\u0dd9\u0db1\u0dca\u0db1\u0d85\u0db4\u0dd2 \u0dc0\u0dd2\u0db8\u0dc3\u0dd4\u0db8\u0dca <span translate=no>_^_2_^_</span> \u0dbd\u0dd9\u0dc3, \u0dba\u0dad\u0dd4\u0dbb\u0dd4 <span translate=no>_^_3_^_</span> \u0dbd\u0dd9\u0dc3 \u0dc3\u0dc4 \u0d85\u0d9c\u0dba\u0db1\u0dca <span translate=no>_^_4_^_</span> \u0dbd\u0dd9\u0dc3 \u0dc3\u0db3\u0dc4\u0db1\u0dca \u0d9a\u0dbb\u0db8\u0dd4. </p>\n",
|
||||
"<h2>Calculate validation loss</h2>\n<p>We calculate the validation loss of the combined on <span translate=no>_^_0_^_</span>-NN prediction and transformer prediction. The weight given to the <span translate=no>_^_1_^_</span>-NN model is given by <span translate=no>_^_2_^_</span>. It's a list of weights and we calculate the validation loss for each.</p>\n": "<h2>\u0dc0\u0dbd\u0d82\u0d9c\u0dd4\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d85\u0dbd\u0dcf\u0db7\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1</h2>\n<p>\u0d85\u0db4\u0dd2 <span translate=no>_^_0_^_</span>-NN \u0d85\u0db1\u0dcf\u0dc0\u0dd0\u0d9a\u0dd2\u0dba \u0dc4\u0dcf \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0d85\u0db1\u0dcf\u0dc0\u0dd0\u0d9a\u0dd2\u0dba \u0db8\u0dad \u0d92\u0d9a\u0dcf\u0db6\u0daf\u0dca\u0db0 \u0dc0\u0dbd\u0d82\u0d9c\u0dd4 \u0d85\u0dc4\u0dd2\u0db8\u0dd2 \u0d9c\u0dab\u0db1\u0dba. <span translate=no>_^_1_^_</span>-NN \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0da7 \u0dbd\u0db6\u0dcf \u0daf\u0dd3 \u0d87\u0dad\u0dd2 \u0db6\u0dbb \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1\u0dd4 \u0dbd\u0dd0\u0db6\u0dda <span translate=no>_^_2_^_</span>. \u0d91\u0dba \u0db4\u0da9\u0dd2 \u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0\u0d9a\u0dca \u0dc0\u0db1 \u0d85\u0dad\u0dbb \u0d85\u0db4\u0dd2 \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dbd\u0d82\u0d9c\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d85\u0dbd\u0dcf\u0db7\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db8\u0dd4. </p>\n",
|
||||
"<h2>Load the index</h2>\n": "<h2>\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba\u0db4\u0dd6\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1</h2>\n",
|
||||
"<p>Calculate scores for each of <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0dbd\u0d9a\u0dd4\u0dab\u0dd4 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span>. </p>\n",
|
||||
"<p>Calculate the loss </p>\n": "<p>\u0d85\u0dbd\u0dcf\u0db7\u0dba\u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Dimensions of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db8\u0dcf\u0db1\u0dba\u0db1\u0dca <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Evaluate validation loss </p>\n": "<p>\u0dc0\u0dbd\u0d82\u0d9c\u0dd4\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d85\u0dbd\u0dcf\u0db7\u0dba \u0dad\u0d9a\u0dca\u0dc3\u0dda\u0dbb\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Find 10 nearest neighbors of <span translate=no>_^_0_^_</span> among <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> is the distance given by FAISS and <span translate=no>_^_3_^_</span>, <span translate=no>_^_4_^_</span> is the index of it in <span translate=no>_^_5_^_</span>. </p>\n": "<p><span translate=no>_^_0_^_</span> \u0d92 \u0d85\u0dad\u0dbb \u0dc5\u0d9f\u0db8 \u0d85\u0dc3\u0dbd\u0dca\u0dc0\u0dd0\u0dc3\u0dd2\u0dba\u0db1\u0dca 10 \u0daf\u0dd9\u0db1\u0dd9\u0d9a\u0dd4 \u0dc3\u0ddc\u0dba\u0dcf \u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> FAISS \u0dc0\u0dd2\u0dc3\u0dd2\u0db1\u0dca \u0dbd\u0db6\u0dcf \u0daf\u0dd3 \u0d87\u0dad\u0dd2 \u0daf\u0dd4\u0dbb \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba <span translate=no>_^_4_^_</span> \u0dc0\u0db1 \u0d85\u0dad\u0dbb <span translate=no>_^_3_^_</span>, \u0d91\u0dc4\u0dd2 \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba <span translate=no>_^_5_^_</span>\u0dc0\u0dda. </p>\n",
|
||||
"<p>Flatten the <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> dimensions of queries </p>\n": "<p>\u0dc0\u0dd2\u0db8\u0dc3\u0dd4\u0db8\u0dca\u0dc0\u0dbd <span translate=no>_^_0_^_</span> \u0dc3\u0dc4 <span translate=no>_^_1_^_</span> \u0db8\u0dcf\u0db1\u0dba\u0db1\u0dca \u0dc3\u0db8\u0dad\u0dbd\u0dcf \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dbd\u0db6\u0dcf\u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span>-NN predictions </p>\n": "<p><span translate=no>_^_0_^_</span>-NN \u0d85\u0db1\u0dcf\u0dc0\u0dd0\u0d9a\u0dd2 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get data and target labels </p>\n": "<p>\u0daf\u0dad\u0dca\u0dad\u0dc3\u0dc4 \u0d89\u0dbd\u0d9a\u0dca\u0d9a \u0dbd\u0dda\u0db6\u0dbd \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get the dot-product, or cosine similarity </p>\n": "<p>\u0dad\u0dd2\u0dad\u0dca\u0db1\u0dd2\u0dc2\u0dca\u0db4\u0dcf\u0daf\u0db1, \u0dc4\u0ddd \u0d9a\u0ddc\u0dc3\u0dba\u0dd2\u0db1\u0dca \u0dc3\u0db8\u0dcf\u0db1\u0d9a\u0db8 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Iterate through validation data </p>\n": "<p>\u0dc0\u0dbd\u0d82\u0d9c\u0dd4\u0daf\u0dad\u0dca\u0dad \u0dc4\u0dbb\u0dc4\u0dcf \u0db1\u0dd0\u0dc0\u0dad </p>\n",
|
||||
"<p>List of losses for each <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dcf\u0da9\u0dd4 \u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>List of weights given to <span translate=no>_^_0_^_</span>-NN prediction. We will evaluate the validation loss for each of the weights </p>\n": "<p><span translate=no>_^_0_^_</span>-NN \u0d85\u0db1\u0dcf\u0dc0\u0dd0\u0d9a\u0dd2\u0dba \u0dbd\u0db6\u0dcf \u0daf\u0dd3 \u0d87\u0dad\u0dd2 \u0db6\u0dbb \u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0. \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0db6\u0dbb \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dbd\u0d82\u0d9c\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d85\u0dbd\u0dcf\u0db7\u0dba \u0d85\u0db4\u0dd2 \u0d87\u0d9c\u0dba\u0dd3\u0db8\u0da7 \u0dbd\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dd9\u0db8\u0dd4 </p>\n",
|
||||
"<p>Load FAISS index </p>\n": "<p>FAISS\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba \u0db4\u0dd0\u0da7\u0dc0\u0dd3\u0db8 </p>\n",
|
||||
"<p>Load index </p>\n": "<p>\u0db4\u0dd0\u0da7\u0dc0\u0dd4\u0db8\u0dca\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba </p>\n",
|
||||
"<p>Load memory mapped numpy arrays </p>\n": "<p>\u0db8\u0dad\u0d9a\u0dba\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0d9c\u0dad \u0d9a\u0dc5 \u0d85\u0d82\u0d9a\u0dd4\u0dbb \u0d85\u0dbb\u0dcf \u0db4\u0da7\u0dc0\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Load the experiment. Replace the run uuid with you run uuid from <a href=\"train_model.html\">training the model</a>. </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0db4\u0dd6\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1. <a href=\"train_model.html\">\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4</a>\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0d94\u0db6 uuid \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0dc3\u0db8\u0d9f uuid \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<p>Normalize <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u200d\u0dba\u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Number of contexts; i.e. number of tokens in the training data minus one. <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> </p>\n": "<p>\u0dc3\u0db1\u0dca\u0daf\u0dbb\u0dca\u0db7\u0dba\u0db1\u0dca\u0d9c\u0dab\u0db1; \u0d91\u0db1\u0db8\u0dca \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0daf\u0dad\u0dca\u0dad\u0dc0\u0dbd \u0da7\u0ddd\u0d9a\u0db1 \u0d9c\u0dab\u0db1 us \u0dab \u0d91\u0d9a\u0d9a\u0dca. <span translate=no>_^_0_^_</span> </p>\u0dc3\u0db3\u0dc4\u0dcf <span translate=no>_^_1_^_</span>\n",
|
||||
"<p>Number of samples </p>\n": "<p>\u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd\u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Number of samples in each batch </p>\n": "<p>\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0d9a\u0dcf\u0dab\u0dca\u0da9\u0dba\u0dda \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Output the losses for each of <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dcf\u0da9\u0dd4 \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba <span translate=no>_^_0_^_</span>\u0d9a\u0dbb\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<p>Reshape the logits </p>\n": "<p>\u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca\u0db1\u0dd0\u0dc0\u0dad \u0dc3\u0d9a\u0dc3\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Run the model and get predictions <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb \u0d85\u0db1\u0dcf\u0dc0\u0dd0\u0d9a\u0dd2 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Save shape of queries to reshape results </p>\n": "<p>\u0db4\u0dca\u0dbb\u0dad\u0dd2. \u0dbd \u0db1\u0dd0\u0dc0\u0dad \u0dc4\u0dd0\u0da9\u0d9c\u0dd0\u0dc3\u0dca\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd2\u0db8\u0dc3\u0dd4\u0db8\u0dca \u0dc0\u0dbd \u0dc4\u0dd0\u0da9\u0dba \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Scatter and accumulate token logits based on the nearest neighbors </p>\n": "<p>\u0d86\u0dc3\u0db1\u0dca\u0db1\u0dad\u0db8\u0d85\u0dc3\u0dbd\u0dca\u0dc0\u0dd0\u0dc3\u0dd2\u0dba\u0db1\u0dca \u0db8\u0dad \u0db4\u0daf\u0db1\u0db8\u0dca\u0dc0 \u0da7\u0ddd\u0d9a\u0db1\u0dca \u0dbd\u0ddc\u0d9c\u0dca\u0dc3\u0dca \u0dc0\u0dd2\u0dc3\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dc4 \u0dbb\u0dd0\u0dc3\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 </p>\n",
|
||||
"<p>Set model to evaluation mode </p>\n": "<p>\u0d87\u0d9c\u0dba\u0dd3\u0db8\u0dca\u0db4\u0dca\u0dbb\u0d9a\u0dcf\u0dbb\u0dba\u0da7 \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Set number of cells to probe </p>\n": "<p>\u0db4\u0dbb\u0dd3\u0d9a\u0dca\u0dc2\u0dab\u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0ddb\u0dbd \u0d9c\u0dab\u0db1 \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>This is to calculate only the loss for <span translate=no>_^_0_^_</span> tokens. This is important because the first predictions (along the sequence) of transformer model has very few past tokens to look at. </p>\n": "<p>\u0db8\u0dd9\u0dba <span translate=no>_^_0_^_</span> \u0da7\u0ddd\u0d9a\u0db1 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0db1 \u0d85\u0dbd\u0dcf\u0db7\u0dba \u0db4\u0db8\u0dab\u0d9a\u0dca \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dba\u0dd2. \u0db8\u0dd9\u0dba \u0dc0\u0dd0\u0daf\u0d9c\u0dad\u0dca \u0dc0\u0db1\u0dca\u0db1\u0dda \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0dda \u0db4\u0dc5\u0db8\u0dd4 \u0d85\u0db1\u0dcf\u0dc0\u0dd0\u0d9a\u0dd2 (\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dba \u0d94\u0dc3\u0dca\u0dc3\u0dda) \u0daf\u0dd9\u0dc3 \u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0da7 \u0d85\u0dad\u0dd3\u0dad \u0da7\u0ddd\u0d9a\u0db1 \u0d89\u0dad\u0dcf \u0d85\u0dbd\u0dca\u0db4\u0dba. </p>\n",
|
||||
"<p>Token-wise logits </p>\n": "<p>\u0da7\u0ddd\u0d9a\u0db1\u0dca-\u0db1\u0dd0\u0dab\u0dc0\u0dad\u0dca\u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca </p>\n",
|
||||
"<p>Training data loader </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0daf\u0dad\u0dca\u0dad \u0db4\u0dd0\u0da7\u0dc0\u0dd4\u0db8 </p>\n",
|
||||
"<p>We are going to calculate the cosine similarity between normalized vectors </p>\n": "<p>\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba\u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0daf\u0ddb\u0dc1\u0dd2\u0d9a \u0d85\u0dad\u0dbb \u0d9a\u0ddc\u0dc3\u0dba\u0dd2\u0db1\u0dca \u0dc3\u0db8\u0dcf\u0db1\u0dad\u0dcf\u0dc0\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0d85\u0db4\u0dd2 \u0dba\u0db1\u0dca\u0db1\u0dd9\u0db8\u0dd4 </p>\n",
|
||||
"Evaluate k-nearest neighbor language model": "k-\u0dc5\u0d9f\u0db8 \u0d85\u0dc3\u0dbd\u0dca\u0dc0\u0dd0\u0dc3\u0dd2\u0dba\u0dcf\u0d9c\u0dda \u0db7\u0dcf\u0dc2\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0dad\u0d9a\u0dca\u0dc3\u0dda\u0dbb\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1",
|
||||
"This runs the kNN model and merges the kNN results with transformer output to achieve better results than just using the transformer.": "\u0db8\u0dd9\u0dba kNN \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1\u0dc0\u0dcf\u0da7 \u0dc0\u0da9\u0dcf \u0dc4\u0ddc\u0db3 \u0db4\u0dca\u0dbb\u0dad\u0dd2 results \u0dbd \u0dbd\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf kNN \u0db4\u0dca\u0dbb\u0dad\u0dd2 results \u0dbd \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba \u0dc3\u0db8\u0d9f \u0d92\u0d9a\u0dcf\u0db6\u0daf\u0dca\u0db0 \u0d9a\u0dbb\u0dba\u0dd2."
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"<h1>Evaluate k-nearest neighbor language model</h1>\n": "<h1>\u8bc4\u4f30 k \u6700\u8fd1\u90bb\u8bed\u8a00\u6a21\u578b</h1>\n",
|
||||
"<h2><span translate=no>_^_0_^_</span>-NN to get <span translate=no>_^_1_^_</span></h2>\n<p>Here we refer to <span translate=no>_^_2_^_</span> as queries, <span translate=no>_^_3_^_</span> as keys and <span translate=no>_^_4_^_</span> as values.</p>\n": "<h2><span translate=no>_^_0_^_</span>-NN \u8981\u5f97\u5230<span translate=no>_^_1_^_</span></h2>\n<p>\u8fd9\u91cc\u6211\u4eec\u79f0<span translate=no>_^_2_^_</span>\u4e4b\u4e3a\u67e5\u8be2\u3001<span translate=no>_^_3_^_</span>\u952e<span translate=no>_^_4_^_</span>\u548c\u503c\u3002</p>\n",
|
||||
"<h2>Calculate validation loss</h2>\n<p>We calculate the validation loss of the combined on <span translate=no>_^_0_^_</span>-NN prediction and transformer prediction. The weight given to the <span translate=no>_^_1_^_</span>-NN model is given by <span translate=no>_^_2_^_</span>. It's a list of weights and we calculate the validation loss for each.</p>\n": "<h2>\u8ba1\u7b97\u9a8c\u8bc1\u635f\u5931</h2>\n<p>\u6211\u4eec\u8ba1\u7b97\u4e86<span translate=no>_^_0_^_</span>-NN \u9884\u6d4b\u548c\u53d8\u538b\u5668\u9884\u6d4b\u7ec4\u5408\u7684\u9a8c\u8bc1\u635f\u5931\u3002\u5206\u914d\u7ed9<span translate=no>_^_1_^_</span>-NN \u6a21\u578b\u7684\u6743\u91cd\u7531\u7ed9\u51fa<span translate=no>_^_2_^_</span>\u3002\u8fd9\u662f\u4e00\u4e2a\u6743\u91cd\u5217\u8868\uff0c\u6211\u4eec\u8ba1\u7b97\u6bcf\u4e2a\u6743\u91cd\u7684\u9a8c\u8bc1\u635f\u5931\u3002</p>\n",
|
||||
"<h2>Load the index</h2>\n": "<h2>\u52a0\u8f7d\u7d22\u5f15</h2>\n",
|
||||
"<p>Calculate scores for each of <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u8ba1\u7b97\u6bcf\u9879\u7684\u5206\u6570<span translate=no>_^_0_^_</span>\u3002</p>\n",
|
||||
"<p>Calculate the loss </p>\n": "<p>\u8ba1\u7b97\u635f\u5931</p>\n",
|
||||
"<p>Dimensions of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u7684\u5c3a\u5bf8<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Evaluate validation loss </p>\n": "<p>\u8bc4\u4f30\u9a8c\u8bc1\u635f\u5931</p>\n",
|
||||
"<p>Find 10 nearest neighbors of <span translate=no>_^_0_^_</span> among <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> is the distance given by FAISS and <span translate=no>_^_3_^_</span>, <span translate=no>_^_4_^_</span> is the index of it in <span translate=no>_^_5_^_</span>. </p>\n": "<p>\u627e\u5230 10 \u4e2a\u6700\u8fd1\u7684\u90bb\u5c45<span translate=no>_^_1_^_</span>\u3002<span translate=no>_^_0_^_</span><span translate=no>_^_2_^_</span>\u662f FAISS \u7ed9\u51fa\u7684\u8ddd\u79bb<span translate=no>_^_3_^_</span>\uff0c<span translate=no>_^_4_^_</span>\u662f\u5176\u4e2d\u7684\u7d22\u5f15<span translate=no>_^_5_^_</span>\u3002</p>\n",
|
||||
"<p>Flatten the <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> dimensions of queries </p>\n": "<p>\u5c55\u5e73\u67e5\u8be2\u7684<span translate=no>_^_0_^_</span>\u548c<span translate=no>_^_1_^_</span>\u7ef4\u5ea6</p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5f97\u5230<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span>-NN predictions </p>\n": "<p>\u83b7\u53d6<span translate=no>_^_0_^_</span>-NN \u9884\u6d4b</p>\n",
|
||||
"<p>Get data and target labels </p>\n": "<p>\u83b7\u53d6\u6570\u636e\u548c\u76ee\u6807\u6807\u7b7e</p>\n",
|
||||
"<p>Get the dot-product, or cosine similarity </p>\n": "<p>\u83b7\u53d6\u70b9\u79ef\u6216\u4f59\u5f26\u76f8\u4f3c\u5ea6</p>\n",
|
||||
"<p>Iterate through validation data </p>\n": "<p>\u904d\u5386\u9a8c\u8bc1\u6570\u636e</p>\n",
|
||||
"<p>List of losses for each <span translate=no>_^_0_^_</span> </p>\n": "<p>\u6bcf\u79cd\u7684\u635f\u5931\u6e05\u5355<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>List of weights given to <span translate=no>_^_0_^_</span>-NN prediction. We will evaluate the validation loss for each of the weights </p>\n": "\u4e3a <p><span translate=no>_^_0_^_</span>-NN \u9884\u6d4b\u8d4b\u4e88\u7684\u6743\u91cd\u5217\u8868\u3002\u6211\u4eec\u5c06\u8bc4\u4f30\u6bcf\u4e2a\u6743\u91cd\u7684\u9a8c\u8bc1\u635f\u5931</p>\n",
|
||||
"<p>Load FAISS index </p>\n": "<p>\u52a0\u8f7d FAISS \u6307\u6570</p>\n",
|
||||
"<p>Load index </p>\n": "<p>\u8d1f\u8377\u6307\u6570</p>\n",
|
||||
"<p>Load memory mapped numpy arrays </p>\n": "<p>\u52a0\u8f7d\u5185\u5b58\u6620\u5c04\u7684 numpy \u6570\u7ec4</p>\n",
|
||||
"<p>Load the experiment. Replace the run uuid with you run uuid from <a href=\"train_model.html\">training the model</a>. </p>\n": "<p>\u52a0\u8f7d\u5b9e\u9a8c\u3002\u5c06 run uuid \u66ff\u6362\u4e3a\u4f60\u5728<a href=\"train_model.html\">\u8bad\u7ec3\u6a21\u578b\u65f6\u8fd0\u884c\u7684</a> uuid\u3002</p>\n",
|
||||
"<p>Normalize <span translate=no>_^_0_^_</span> </p>\n": "<p>\u89c4\u8303\u5316<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Number of contexts; i.e. number of tokens in the training data minus one. <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> </p>\n": "<p>\u4e0a\u4e0b\u6587\u7684\u6570\u91cf\uff1b\u5373\u8bad\u7ec3\u6570\u636e\u4e2d\u7684\u4ee4\u724c\u6570\u51cf\u4e00\u3002<span translate=no>_^_0_^_</span>\u5bf9\u4e8e<span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Number of samples </p>\n": "<p>\u6837\u672c\u6570\u91cf</p>\n",
|
||||
"<p>Number of samples in each batch </p>\n": "<p>\u6bcf\u6279\u6837\u54c1\u7684\u6570\u91cf</p>\n",
|
||||
"<p>Output the losses for each of <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u8f93\u51fa\u6bcf\u4e2a\u7684\u635f\u5931<span translate=no>_^_0_^_</span>\u3002</p>\n",
|
||||
"<p>Reshape the logits </p>\n": "<p>\u91cd\u5851 logits</p>\n",
|
||||
"<p>Run the model and get predictions <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8fd0\u884c\u6a21\u578b\u5e76\u83b7\u5f97\u9884\u6d4b<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Save shape of queries to reshape results </p>\n": "<p>\u4fdd\u5b58\u67e5\u8be2\u5f62\u72b6\u4ee5\u91cd\u5851\u7ed3\u679c</p>\n",
|
||||
"<p>Scatter and accumulate token logits based on the nearest neighbors </p>\n": "<p>\u6839\u636e\u6700\u8fd1\u7684\u90bb\u5c45\u5206\u6563\u548c\u7d2f\u79ef\u4ee4\u724c\u65e5\u5fd7</p>\n",
|
||||
"<p>Set model to evaluation mode </p>\n": "<p>\u5c06\u6a21\u578b\u8bbe\u7f6e\u4e3a\u8bc4\u4f30\u6a21\u5f0f</p>\n",
|
||||
"<p>Set number of cells to probe </p>\n": "<p>\u8bbe\u7f6e\u8981\u63a2\u6d4b\u7684\u7ec6\u80de\u6570\u91cf</p>\n",
|
||||
"<p>This is to calculate only the loss for <span translate=no>_^_0_^_</span> tokens. This is important because the first predictions (along the sequence) of transformer model has very few past tokens to look at. </p>\n": "<p>\u8fd9\u662f\u4e3a\u4e86\u53ea\u8ba1\u7b97<span translate=no>_^_0_^_</span>\u4ee3\u5e01\u7684\u635f\u5931\u3002\u8fd9\u4e00\u70b9\u5f88\u91cd\u8981\uff0c\u56e0\u4e3a\u53d8\u538b\u5668\u6a21\u578b\u7684\u7b2c\u4e00\u4e2a\u9884\u6d4b\uff08\u6cbf\u987a\u5e8f\uff09\u51e0\u4e4e\u6ca1\u6709\u8fc7\u53bb\u7684\u4ee4\u724c\u53ef\u4f9b\u8003\u8651\u3002</p>\n",
|
||||
"<p>Token-wise logits </p>\n": "<p>\u4ee4\u724c\u660e\u667a\u7684 logits</p>\n",
|
||||
"<p>Training data loader </p>\n": "<p>\u8bad\u7ec3\u6570\u636e\u52a0\u8f7d\u5668</p>\n",
|
||||
"<p>We are going to calculate the cosine similarity between normalized vectors </p>\n": "<p>\u6211\u4eec\u5c06\u8ba1\u7b97\u5f52\u4e00\u5316\u5411\u91cf\u4e4b\u95f4\u7684\u4f59\u5f26\u76f8\u4f3c\u5ea6</p>\n",
|
||||
"Evaluate k-nearest neighbor language model": "\u8bc4\u4f30 k \u6700\u8fd1\u90bb\u8bed\u8a00\u6a21\u578b",
|
||||
"This runs the kNN model and merges the kNN results with transformer output to achieve better results than just using the transformer.": "\u8fd9\u5c06\u8fd0\u884c kNN \u6a21\u578b\uff0c\u5e76\u5c06 kNN \u7ed3\u679c\u4e0e\u53d8\u538b\u5668\u8f93\u51fa\u5408\u5e76\uff0c\u4ee5\u83b7\u5f97\u6bd4\u4ec5\u4f7f\u7528\u53d8\u538b\u5668\u66f4\u597d\u7684\u7ed3\u679c\u3002"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"<h1>Train Autoregressive Transformer</h1>\n<p>This trains a simple <a href=\"../../\">transformer</a> model for auto-regression.</p>\n": "<h1>\u5217\u8eca\u306e\u81ea\u5df1\u56de\u5e30\u5909\u5727\u5668</h1>\n</a><p>\u3053\u308c\u306b\u3088\u308a\u3001<a href=\"../../\">\u81ea\u52d5\u56de\u5e30\u7528\u306e\u5358\u7d14\u306a\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u30e2\u30c7\u30eb\u304c\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3055\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<h2>Auto regressive model</h2>\n": "<h2>\u81ea\u52d5\u56de\u5e30\u30e2\u30c7\u30eb</h2>\n",
|
||||
"<h2>Configurations</h2>\n<p>The default configs can and will be over-ridden when we start the experiment</p>\n": "<h2>\u30b3\u30f3\u30d5\u30a3\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3</h2>\n<p>\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u8a2d\u5b9a\u306f\u3001\u5b9f\u9a13\u3092\u958b\u59cb\u3057\u305f\u3068\u304d\u306b\u4e0a\u66f8\u304d\u3067\u304d\u3001\u307e\u305f\u4e0a\u66f8\u304d\u3055\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<p> Initialize the auto-regressive model</p>\n": "<p>\u81ea\u5df1\u56de\u5e30\u30e2\u30c7\u30eb\u3092\u521d\u671f\u5316</p>\n",
|
||||
"<p> Initialize the configurable transformer encoder for our autoregressive model</p>\n": "<p>\u81ea\u5df1\u56de\u5e30\u30e2\u30c7\u30eb\u306e\u8a2d\u5b9a\u53ef\u80fd\u306a\u30c8\u30e9\u30f3\u30b9\u30a8\u30f3\u30b3\u30fc\u30c0\u30fc\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p> Retrieve saved <span translate=no>_^_0_^_</span></p>\n": "<p>\u691c\u7d22\u4fdd\u5b58\u6e08\u307f <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>A dictionary of configurations to override </p>\n": "<p>\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u8a2d\u5b9a\u306e\u8f9e\u66f8</p>\n",
|
||||
"<p>Create configs </p>\n": "<p>\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u5b9f\u9a13\u3092\u4f5c\u6210</p>\n",
|
||||
"<p>Create subsequent mask, so that the transformer can only pay attention to past tokens. </p>\n": "<p>\u6b21\u306e\u30de\u30b9\u30af\u3092\u4f5c\u6210\u3057\u3066\u3001\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u304c\u904e\u53bb\u306e\u30c8\u30fc\u30af\u30f3\u306b\u3057\u304b\u6ce8\u76ee\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p>Embed the tokens (<span translate=no>_^_0_^_</span>) and run it through the the transformer </p>\n": "<p>\u30c8\u30fc\u30af\u30f3 (<span translate=no>_^_0_^_</span>) \u3092\u57cb\u3081\u8fbc\u307f\u3001\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u306b\u901a\u3057\u307e\u3059</p>\n",
|
||||
"<p>Generate logits of the next token </p>\n": "<p>\u6b21\u306e\u30c8\u30fc\u30af\u30f3\u306e\u30ed\u30b8\u30c3\u30c8\u3092\u751f\u6210</p>\n",
|
||||
"<p>Get the source token embedding layer, encoder and final token generator from configurable transformer </p>\n": "<p>\u8a2d\u5b9a\u53ef\u80fd\u306a\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u304b\u3089\u30bd\u30fc\u30b9\u30c8\u30fc\u30af\u30f3\u57cb\u3081\u8fbc\u307f\u30ec\u30a4\u30e4\u30fc\u3001\u30a8\u30f3\u30b3\u30fc\u30c0\u30fc\u3001\u6700\u7d42\u30c8\u30fc\u30af\u30f3\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Load configurations </p>\n": "<p>\u69cb\u6210\u3092\u30ed\u30fc\u30c9</p>\n",
|
||||
"<p>Next token generation layer; this give logits of the the next token </p>\n": "<p>\u6b21\u306e\u30c8\u30fc\u30af\u30f3\u751f\u6210\u30ec\u30a4\u30e4\u30fc\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u6b21\u306e\u30c8\u30fc\u30af\u30f3\u306e\u30ed\u30b8\u30c3\u30c8\u304c\u8fd4\u3055\u308c\u307e\u3059</p>\n",
|
||||
"<p>Set models for saving and loading </p>\n": "<p>\u4fdd\u5b58\u304a\u3088\u3073\u8aad\u307f\u8fbc\u307f\u7528\u306e\u30e2\u30c7\u30eb\u3092\u8a2d\u5b9a\u3059\u308b</p>\n",
|
||||
"<p>Start the experiment </p>\n": "<p>\u5b9f\u9a13\u3092\u59cb\u3081\u308b</p>\n",
|
||||
"<p>This is needed to initialize models </p>\n": "<p>\u3053\u308c\u306f\u30e2\u30c7\u30eb\u3092\u521d\u671f\u5316\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u3067\u3059</p>\n",
|
||||
"<p>This will be initialized on the first call </p>\n": "<p>\u3053\u308c\u306f\u6700\u521d\u306e\u547c\u3073\u51fa\u3057\u3067\u521d\u671f\u5316\u3055\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<p>Token embedding module </p>\n": "<p>\u30c8\u30fc\u30af\u30f3\u57cb\u3081\u8fbc\u307f\u30e2\u30b8\u30e5\u30fc\u30eb</p>\n",
|
||||
"<p>Transformer based encoder </p>\n": "<p>\u30c8\u30e9\u30f3\u30b9\u30d9\u30fc\u30b9\u306e\u30a8\u30f3\u30b3\u30fc\u30c0</p>\n",
|
||||
"<p>Transformer configurations </p>\n": "<p>\u5909\u5727\u5668\u69cb\u6210</p>\n",
|
||||
"<p>Whether the last layer of the encoder should save the input to the feed-forward layer. This is out <span translate=no>_^_0_^_</span>, the embedding of the context. </p>\n": "<p>\u30a8\u30f3\u30b3\u30fc\u30c0\u30fc\u306e\u6700\u5f8c\u306e\u5c64\u3067\u5165\u529b\u3092\u30d5\u30a3\u30fc\u30c9\u30d5\u30a9\u30ef\u30fc\u30c9\u5c64\u306b\u4fdd\u5b58\u3059\u308b\u304b\u3069\u3046\u304b\u3002\u3053\u308c\u3067\u51fa\u307e\u3057\u305f<span translate=no>_^_0_^_</span>\u3002\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u57cb\u3081\u8fbc\u307f\u3067\u3059</p>\u3002\n",
|
||||
"<p>Whether to save <span translate=no>_^_0_^_</span> </p>\n": "<p>\u4fdd\u5b58\u3059\u308b\u304b\u3069\u3046\u304b <span translate=no>_^_0_^_</span></p>\n",
|
||||
"This is training code with notes for a basic auto-regressive transformer.": "\u3053\u308c\u306f\u3001\u57fa\u672c\u7684\u306a\u81ea\u5df1\u56de\u5e30\u5909\u63db\u5668\u306e\u30e1\u30e2\u3092\u542b\u3080\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b3\u30fc\u30c9\u3067\u3059\u3002",
|
||||
"Train Autoregressive Transformer": "\u5217\u8eca\u306e\u81ea\u5df1\u56de\u5e30\u5909\u5727\u5668"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"<h1>Train Autoregressive Transformer</h1>\n<p>This trains a simple <a href=\"../../\">transformer</a> model for auto-regression.</p>\n": "<h1>\u0db8\u0ddd\u0da7\u0dbb\u0dca\u0dbb\u0dae \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0d9c\u0dcf\u0db8\u0dd3 \u0daf\u0dd4\u0db8\u0dca\u0dbb\u0dd2\u0dba \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca</h1>\n</a> <p>\u0db8\u0dd9\u0dba\u0dc3\u0dca\u0dc0\u0dba\u0d82\u0d9a\u0dca\u0dbb\u0dd3\u0dba \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0d9c\u0dcf\u0db8\u0dd3 \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0dbb\u0dbd <a href=\"../../\">\u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0d9a\u0dca \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<h2>Auto regressive model</h2>\n": "<h2>\u0dc3\u0dca\u0dc0\u0dba\u0d82\u0d9a\u0dca\u0dbb\u0dd3\u0dba\u0db4\u0dca\u0dbb\u0dad\u0dd2\u0d9c\u0dcf\u0db8\u0dd3 \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba</h2>\n",
|
||||
"<h2>Configurations</h2>\n<p>The default configs can and will be over-ridden when we start the experiment</p>\n": "<h2>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca</h2>\n<p>\u0d85\u0db4\u0dd2\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1 \u0dc0\u0dd2\u0da7 \u0db4\u0dd9\u0dbb\u0db1\u0dd2\u0db8\u0dd2 \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3 \u0d9a\u0dc5 \u0dc4\u0dd0\u0d9a\u0dd2 \u0d85\u0dad\u0dbb \u0d91\u0dba \u0d85\u0db0\u0dd2\u0d9a \u0dbd\u0dd9\u0dc3 \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0dc0\u0db1\u0dd4 \u0d87\u0dad</p>\n",
|
||||
"<p> Initialize the auto-regressive model</p>\n": "<p> \u0dc3\u0dca\u0dc0\u0dba\u0d82\u0d9a\u0dca\u0dbb\u0dd3\u0dba\u0db4\u0dca\u0dbb\u0dad\u0dd2\u0d9c\u0dcf\u0db8\u0dd3 \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1</p>\n",
|
||||
"<p> Initialize the configurable transformer encoder for our autoregressive model</p>\n": "<p> \u0d85\u0db4\u0d9c\u0dda\u0dc3\u0dca\u0dc0\u0dba\u0d82\u0d9a\u0dca\u0dbb\u0dd3\u0dba \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0d9c\u0dcf\u0db8\u0dd3 \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0d9c\u0dad \u0d9a\u0dc5 \u0dc4\u0dd0\u0d9a\u0dd2 \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0d91\u0db1\u0dca\u0d9a\u0ddd\u0da9\u0dbb\u0dba \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1</p>\n",
|
||||
"<p> Retrieve saved <span translate=no>_^_0_^_</span></p>\n": "<p> \u0d9c\u0dd0\u0dbd\u0dc0\u0dd3\u0db8\u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>A dictionary of configurations to override </p>\n": "<p>\u0d85\u0db7\u0dd2\u0db6\u0dc0\u0dcf\u0dba\u0dcf\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca \u0db4\u0dd2\u0dc5\u0dd2\u0db6\u0db3 \u0dc1\u0db6\u0dca\u0daf\u0d9a\u0ddd\u0dc2\u0dba\u0d9a\u0dca </p>\n",
|
||||
"<p>Create configs </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create subsequent mask, so that the transformer can only pay attention to past tokens. </p>\n": "<p>\u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dba\u0d85\u0dad\u0dd3\u0dad \u0da7\u0ddd\u0d9a\u0db1 \u0d9a\u0dd9\u0dbb\u0dd9\u0dc4\u0dd2 \u0db4\u0db8\u0dab\u0d9a\u0dca \u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0dba\u0ddc\u0db8\u0dd4 \u0d9a\u0dc5 \u0dc4\u0dd0\u0d9a\u0dd2 \u0dc0\u0db1 \u0db4\u0dbb\u0dd2\u0daf\u0dd2 \u0db4\u0dc3\u0dd4\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0dc0\u0dd9\u0dc3\u0dca\u0db8\u0dd4\u0dc4\u0dd4\u0dab\u0d9a\u0dca \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<p>Embed the tokens (<span translate=no>_^_0_^_</span>) and run it through the the transformer </p>\n": "<p>\u0da7\u0ddd\u0d9a\u0db1\u0d9a\u0dcf\u0dc0\u0dd0\u0daf\u0dca\u0daf\u0dd3\u0db8 (<span translate=no>_^_0_^_</span>) \u0dc3\u0dc4 \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dba \u0dc4\u0dbb\u0dc4\u0dcf \u0d91\u0dba \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Generate logits of the next token </p>\n": "<p>\u0d8a\u0dc5\u0d9f\u0da7\u0ddd\u0d9a\u0db1\u0dba\u0dda \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get the source token embedding layer, encoder and final token generator from configurable transformer </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0d9c\u0dad\u0d9a\u0dc5 \u0dc4\u0dd0\u0d9a\u0dd2 \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dba\u0dd9\u0db1\u0dca \u0db4\u0dca\u0dbb\u0db7\u0dc0 \u0da7\u0ddd\u0d9a\u0db1\u0dca \u0d9a\u0dcf\u0dc0\u0dd0\u0daf\u0dca\u0daf\u0dd3\u0db8\u0dda \u0dc3\u0dca\u0dae\u0dbb\u0dba, \u0d91\u0db1\u0dca\u0d9a\u0ddd\u0da9\u0dbb\u0dba \u0dc3\u0dc4 \u0d85\u0dc0\u0dc3\u0dcf\u0db1 \u0da7\u0ddd\u0d9a\u0db1\u0dca \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Load configurations </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca\u0db4\u0dd6\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Next token generation layer; this give logits of the the next token </p>\n": "<p>\u0d8a\u0dc5\u0d9f\u0da7\u0ddd\u0d9a\u0db1\u0dca \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0db1 \u0dc3\u0dca\u0dad\u0dbb\u0dba; \u0db8\u0dd9\u0dba \u0d8a\u0dc5\u0d9f \u0da7\u0ddd\u0d9a\u0db1\u0dba\u0dda \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0dba\u0dd2 </p>\n",
|
||||
"<p>Set models for saving and loading </p>\n": "<p>\u0d89\u0dad\u0dd2\u0dbb\u0dd2\u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dc4 \u0db4\u0dd0\u0da7\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2 \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Start the experiment </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>This is needed to initialize models </p>\n": "<p>\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0db8\u0dd9\u0dba \u0d85\u0dc0\u0dc1\u0dca\u0dba \u0dc0\u0dda </p>\n",
|
||||
"<p>This will be initialized on the first call </p>\n": "<p>\u0db8\u0dd9\u0dba\u0db4\u0dc5\u0db8\u0dd4 \u0d87\u0db8\u0dad\u0dd4\u0db8\u0dd9\u0db1\u0dca \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dd9\u0dbb\u0dda </p>\n",
|
||||
"<p>Token embedding module </p>\n": "<p>\u0da7\u0ddd\u0d9a\u0db1\u0dca\u0d9a\u0dcf\u0dc0\u0dd0\u0daf\u0dca\u0daf\u0dd3\u0db8 \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dba </p>\n",
|
||||
"<p>Transformer based encoder </p>\n": "<p>\u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca\u0db4\u0daf\u0db1\u0db8\u0dca \u0d9a\u0dbb\u0d9c\u0dad\u0dca \u0d91\u0db1\u0dca\u0d9a\u0ddd\u0da9\u0dbb\u0dba </p>\n",
|
||||
"<p>Transformer configurations </p>\n": "<p>\u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca </p>\n",
|
||||
"<p>Whether the last layer of the encoder should save the input to the feed-forward layer. This is out <span translate=no>_^_0_^_</span>, the embedding of the context. </p>\n": "<p>\u0d91\u0db1\u0dca\u0d9a\u0ddd\u0da9\u0dbb\u0dba\u0dda\u0d85\u0dc0\u0dc3\u0dcf\u0db1 \u0dc3\u0dca\u0dae\u0dbb\u0dba \u0d86\u0daf\u0dcf\u0db1\u0dba \u0db4\u0ddd\u0dc2\u0d9a \u0d89\u0daf\u0dd2\u0dbb\u0dd2 \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0da7 \u0dc3\u0dd4\u0dbb\u0dd0\u0d9a\u0dd2\u0dba \u0dba\u0dd4\u0dad\u0dd4\u0daf \u0dba\u0db1\u0dca\u0db1. \u0db8\u0dd9\u0dba \u0dc3\u0dd2\u0daf\u0dd4 \u0dc0\u0dda <span translate=no>_^_0_^_</span>, \u0dc3\u0db1\u0dca\u0daf\u0dbb\u0dca\u0db7\u0dba \u0d9a\u0dcf\u0dc0\u0dd0\u0daf\u0dca\u0daf\u0dd3\u0db8. </p>\n",
|
||||
"<p>Whether to save <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc3\u0dd4\u0dbb\u0dd0\u0d9a\u0dd3\u0db8\u0da7\u0dba\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"This is training code with notes for a basic auto-regressive transformer.": "\u0db8\u0dd9\u0db8 \u0db8\u0dd6\u0dbd\u0dd2\u0d9a \u0dc3\u0dca\u0dc0\u0dba\u0d82\u0d9a\u0dca\u0dbb\u0dd3\u0dba-\u0db4\u0dca\u0dbb\u0dad\u0dd2\u0d9c\u0dcf\u0db8\u0dd3 \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0da7\u0dc4\u0db1\u0dca \u0dc3\u0db8\u0d9c \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dda\u0dad\u0dba \u0dc0\u0dda.",
|
||||
"Train Autoregressive Transformer": "\u0db8\u0ddd\u0da7\u0dbb\u0dca \u0dbb\u0dae \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0d9c\u0dcf\u0db8\u0dd3 \u0daf\u0dd4\u0db8\u0dca\u0dbb\u0dd2\u0dba \u0da7\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dc3\u0dca\u0dc6\u0ddd\u0db8\u0dbb\u0dca"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"<h1>Train Autoregressive Transformer</h1>\n<p>This trains a simple <a href=\"../../\">transformer</a> model for auto-regression.</p>\n": "<h1>\u8bad\u7ec3\u81ea\u56de\u5f52\u53d8\u538b\u5668</h1>\n</a><p>\u8fd9\u5c06\u4e3a\u81ea\u52a8\u56de\u5f52\u8bad\u7ec3\u4e00\u4e2a\u7b80\u5355\u7684<a href=\"../../\">\u53d8\u538b\u5668\u6a21\u578b\u3002</p>\n",
|
||||
"<h2>Auto regressive model</h2>\n": "<h2>\u81ea\u52a8\u56de\u5f52\u6a21\u578b</h2>\n",
|
||||
"<h2>Configurations</h2>\n<p>The default configs can and will be over-ridden when we start the experiment</p>\n": "<h2>\u914d\u7f6e</h2>\n<p>\u5f53\u6211\u4eec\u5f00\u59cb\u5b9e\u9a8c\u65f6\uff0c\u9ed8\u8ba4\u914d\u7f6e\u53ef\u4ee5\u800c\u4e14\u5c06\u4f1a\u88ab\u8986\u76d6</p>\n",
|
||||
"<p> Initialize the auto-regressive model</p>\n": "<p>\u521d\u59cb\u5316\u81ea\u56de\u5f52\u6a21\u578b</p>\n",
|
||||
"<p> Initialize the configurable transformer encoder for our autoregressive model</p>\n": "<p>\u4e3a\u6211\u4eec\u7684\u81ea\u56de\u5f52\u6a21\u578b\u521d\u59cb\u5316\u53ef\u914d\u7f6e\u7684\u53d8\u538b\u5668\u7f16\u7801\u5668</p>\n",
|
||||
"<p> Retrieve saved <span translate=no>_^_0_^_</span></p>\n": "<p>\u68c0\u7d22\u5df2\u4fdd\u5b58<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>A dictionary of configurations to override </p>\n": "<p>\u8981\u8986\u76d6\u7684\u914d\u7f6e\u5b57\u5178</p>\n",
|
||||
"<p>Create configs </p>\n": "<p>\u521b\u5efa\u914d\u7f6e</p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u521b\u5efa\u5b9e\u9a8c</p>\n",
|
||||
"<p>Create subsequent mask, so that the transformer can only pay attention to past tokens. </p>\n": "<p>\u521b\u5efa\u540e\u7eed\u63a9\u7801\uff0c\u4ee5\u4fbf\u53d8\u538b\u5668\u53ea\u80fd\u5173\u6ce8\u8fc7\u53bb\u7684\u4ee4\u724c\u3002</p>\n",
|
||||
"<p>Embed the tokens (<span translate=no>_^_0_^_</span>) and run it through the the transformer </p>\n": "<p>\u5d4c\u5165\u4ee4\u724c (<span translate=no>_^_0_^_</span>) \u5e76\u901a\u8fc7\u53d8\u538b\u5668\u8fd0\u884c\u5b83</p>\n",
|
||||
"<p>Generate logits of the next token </p>\n": "<p>\u751f\u6210\u4e0b\u4e00\u4e2a\u4ee4\u724c\u7684\u65e5\u5fd7</p>\n",
|
||||
"<p>Get the source token embedding layer, encoder and final token generator from configurable transformer </p>\n": "<p>\u4ece\u53ef\u914d\u7f6e\u7684\u8f6c\u6362\u5668\u83b7\u53d6\u6e90\u4ee4\u724c\u5d4c\u5165\u5c42\u3001\u7f16\u7801\u5668\u548c\u6700\u7ec8\u4ee4\u724c\u751f\u6210\u5668</p>\n",
|
||||
"<p>Load configurations </p>\n": "<p>\u88c5\u8f7d\u914d\u7f6e</p>\n",
|
||||
"<p>Next token generation layer; this give logits of the the next token </p>\n": "<p>\u4e0b\u4e00\u4ee3\u5e01\u751f\u6210\u5c42\uff1b\u8fd9\u4f1a\u7ed9\u51fa\u4e0b\u4e00\u4e2a\u4ee4\u724c\u7684\u65e5\u5fd7</p>\n",
|
||||
"<p>Set models for saving and loading </p>\n": "<p>\u8bbe\u7f6e\u7528\u4e8e\u4fdd\u5b58\u548c\u52a0\u8f7d\u7684\u6a21\u578b</p>\n",
|
||||
"<p>Start the experiment </p>\n": "<p>\u5f00\u59cb\u5b9e\u9a8c</p>\n",
|
||||
"<p>This is needed to initialize models </p>\n": "<p>\u8fd9\u662f\u521d\u59cb\u5316\u6a21\u578b\u6240\u5fc5\u9700\u7684</p>\n",
|
||||
"<p>This will be initialized on the first call </p>\n": "<p>\u8fd9\u5c06\u5728\u7b2c\u4e00\u6b21\u8c03\u7528\u65f6\u521d\u59cb\u5316</p>\n",
|
||||
"<p>Token embedding module </p>\n": "<p>\u4ee4\u724c\u5d4c\u5165\u6a21\u5757</p>\n",
|
||||
"<p>Transformer based encoder </p>\n": "<p>\u57fa\u4e8e\u53d8\u538b\u5668\u7684\u7f16\u7801\u5668</p>\n",
|
||||
"<p>Transformer configurations </p>\n": "<p>\u53d8\u538b\u5668\u914d\u7f6e</p>\n",
|
||||
"<p>Whether the last layer of the encoder should save the input to the feed-forward layer. This is out <span translate=no>_^_0_^_</span>, the embedding of the context. </p>\n": "<p>\u7f16\u7801\u5668\u7684\u6700\u540e\u4e00\u5c42\u662f\u5426\u5e94\u5c06\u8f93\u5165\u4fdd\u5b58\u5230\u524d\u9988\u5c42\u3002\u8fd9\u5df2\u7ecf\u51fa\u6765\u4e86<span translate=no>_^_0_^_</span>\uff0c\u4e0a\u4e0b\u6587\u7684\u5d4c\u5165\u3002</p>\n",
|
||||
"<p>Whether to save <span translate=no>_^_0_^_</span> </p>\n": "<p>\u662f\u5426\u4fdd\u5b58<span translate=no>_^_0_^_</span></p>\n",
|
||||
"This is training code with notes for a basic auto-regressive transformer.": "\u8fd9\u662f\u5e26\u6709\u57fa\u672c\u81ea\u56de\u5f52\u53d8\u538b\u5668\u6ce8\u91ca\u7684\u8bad\u7ec3\u4ee3\u7801\u3002",
|
||||
"Train Autoregressive Transformer": "\u8bad\u7ec3\u81ea\u56de\u5f52\u53d8\u538b\u5668"
|
||||
}
|
||||
Reference in New Issue
Block a user