diff --git a/chapter10/Chapter 10 - Creating Text Embedding Models.ipynb b/chapter10/Chapter 10 - Creating Text Embedding Models.ipynb
index b4abfb6..53f46e6 100644
--- a/chapter10/Chapter 10 - Creating Text Embedding Models.ipynb
+++ b/chapter10/Chapter 10 - Creating Text Embedding Models.ipynb
@@ -269,21 +269,7 @@
"id": "8uAAhNs0ocoV"
},
"outputs": [],
- "source": [
- "from sentence_transformers.training_args import SentenceTransformerTrainingArguments\n",
- "\n",
- "# Define the training arguments\n",
- "args = SentenceTransformerTrainingArguments(\n",
- " output_dir=\"base_embedding_model\",\n",
- " num_train_epochs=1,\n",
- " per_device_train_batch_size=32,\n",
- " per_device_eval_batch_size=32,\n",
- " warmup_steps=100,\n",
- " fp16=True,\n",
- " eval_steps=100,\n",
- " logging_steps=100,\n",
- ")"
- ]
+ "source": "from sentence_transformers.training_args import SentenceTransformerTrainingArguments\n\n# Define the training arguments\nargs = SentenceTransformerTrainingArguments(\n output_dir=\"base_embedding_model\",\n num_train_epochs=1,\n per_device_train_batch_size=32,\n per_device_eval_batch_size=32,\n warmup_steps=100,\n fp16=True,\n eval_steps=100,\n logging_steps=100,\n report_to=\"none\",\n)"
},
{
"cell_type": "code",
@@ -837,189 +823,8 @@
"id": "Ikky866vdseY",
"outputId": "803f2abe-002a-481c-9403-8ce39dfa5b47"
},
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "WARNING:sentence_transformers.SentenceTransformer:No sentence-transformers model found with name bert-base-uncased. Creating a new one with mean pooling.\n",
- "/usr/local/lib/python3.10/dist-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
- " warnings.warn(\n"
- ]
- },
- {
- "data": {
- "text/html": [
- "\n",
- "
\n",
- " \n",
- "
\n",
- " [1563/1563 06:04, Epoch 1/1]\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | Step | \n",
- " Training Loss | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 100 | \n",
- " 0.231900 | \n",
- "
\n",
- " \n",
- " | 200 | \n",
- " 0.168900 | \n",
- "
\n",
- " \n",
- " | 300 | \n",
- " 0.170900 | \n",
- "
\n",
- " \n",
- " | 400 | \n",
- " 0.157800 | \n",
- "
\n",
- " \n",
- " | 500 | \n",
- " 0.152900 | \n",
- "
\n",
- " \n",
- " | 600 | \n",
- " 0.156100 | \n",
- "
\n",
- " \n",
- " | 700 | \n",
- " 0.149300 | \n",
- "
\n",
- " \n",
- " | 800 | \n",
- " 0.154500 | \n",
- "
\n",
- " \n",
- " | 900 | \n",
- " 0.150900 | \n",
- "
\n",
- " \n",
- " | 1000 | \n",
- " 0.145600 | \n",
- "
\n",
- " \n",
- " | 1100 | \n",
- " 0.147800 | \n",
- "
\n",
- " \n",
- " | 1200 | \n",
- " 0.145600 | \n",
- "
\n",
- " \n",
- " | 1300 | \n",
- " 0.145100 | \n",
- "
\n",
- " \n",
- " | 1400 | \n",
- " 0.142000 | \n",
- "
\n",
- " \n",
- " | 1500 | \n",
- " 0.141600 | \n",
- "
\n",
- " \n",
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "c16cc9c062f547ee938537a719d4f668",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "Computing widget examples: 0%| | 0/5 [00:00, ?example/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "055c320e1c4540fb9f2b293dd28ed569",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "Computing widget examples: 0%| | 0/5 [00:00, ?example/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "677333dacf8a41d08e0b7fc605da27f9",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "Computing widget examples: 0%| | 0/5 [00:00, ?example/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- "TrainOutput(global_step=1563, training_loss=0.15676780793427353, metrics={'train_runtime': 364.4779, 'train_samples_per_second': 137.183, 'train_steps_per_second': 4.288, 'total_flos': 0.0, 'train_loss': 0.15676780793427353, 'epoch': 1.0})"
- ]
- },
- "execution_count": 15,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "from sentence_transformers import losses, SentenceTransformer\n",
- "from sentence_transformers.trainer import SentenceTransformerTrainer\n",
- "from sentence_transformers.training_args import SentenceTransformerTrainingArguments\n",
- "\n",
- "# Define model\n",
- "embedding_model = SentenceTransformer('bert-base-uncased')\n",
- "\n",
- "# Loss function\n",
- "train_loss = losses.CosineSimilarityLoss(model=embedding_model)\n",
- "\n",
- "# Define the training arguments\n",
- "args = SentenceTransformerTrainingArguments(\n",
- " output_dir=\"cosineloss_embedding_model\",\n",
- " num_train_epochs=1,\n",
- " per_device_train_batch_size=32,\n",
- " per_device_eval_batch_size=32,\n",
- " warmup_steps=100,\n",
- " fp16=True,\n",
- " eval_steps=100,\n",
- " logging_steps=100,\n",
- ")\n",
- "\n",
- "# Train model\n",
- "trainer = SentenceTransformerTrainer(\n",
- " model=embedding_model,\n",
- " args=args,\n",
- " train_dataset=train_dataset,\n",
- " loss=train_loss,\n",
- " evaluator=evaluator\n",
- ")\n",
- "trainer.train()"
- ]
+ "outputs": [],
+ "source": "from sentence_transformers import losses, SentenceTransformer\nfrom sentence_transformers.trainer import SentenceTransformerTrainer\nfrom sentence_transformers.training_args import SentenceTransformerTrainingArguments\n\n# Define model\nembedding_model = SentenceTransformer('bert-base-uncased')\n\n# Loss function\ntrain_loss = losses.CosineSimilarityLoss(model=embedding_model)\n\n# Define the training arguments\nargs = SentenceTransformerTrainingArguments(\n output_dir=\"cosineloss_embedding_model\",\n num_train_epochs=1,\n per_device_train_batch_size=32,\n per_device_eval_batch_size=32,\n warmup_steps=100,\n fp16=True,\n eval_steps=100,\n logging_steps=100,\n report_to=\"none\",\n)\n\n# Train model\ntrainer = SentenceTransformerTrainer(\n model=embedding_model,\n args=args,\n train_dataset=train_dataset,\n loss=train_loss,\n evaluator=evaluator\n)\ntrainer.train()"
},
{
"cell_type": "code",
@@ -1216,121 +1021,8 @@
"id": "j-Q2m0yzkRvW",
"outputId": "7f83f28d-79d1-4b1e-d70a-85f2cacee1c1"
},
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "WARNING:sentence_transformers.SentenceTransformer:No sentence-transformers model found with name bert-base-uncased. Creating a new one with mean pooling.\n",
- "/usr/local/lib/python3.10/dist-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
- " warnings.warn(\n"
- ]
- },
- {
- "data": {
- "text/html": [
- "\n",
- " \n",
- " \n",
- "
\n",
- " [528/528 03:00, Epoch 1/1]\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | Step | \n",
- " Training Loss | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 100 | \n",
- " 0.345200 | \n",
- "
\n",
- " \n",
- " | 200 | \n",
- " 0.105500 | \n",
- "
\n",
- " \n",
- " | 300 | \n",
- " 0.079000 | \n",
- "
\n",
- " \n",
- " | 400 | \n",
- " 0.062200 | \n",
- "
\n",
- " \n",
- " | 500 | \n",
- " 0.069000 | \n",
- "
\n",
- " \n",
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "5913c2edc4de4e48990626d19af0ff2b",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "Computing widget examples: 0%| | 0/5 [00:00, ?example/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- "TrainOutput(global_step=528, training_loss=0.12795479415041028, metrics={'train_runtime': 180.866, 'train_samples_per_second': 93.301, 'train_steps_per_second': 2.919, 'total_flos': 0.0, 'train_loss': 0.12795479415041028, 'epoch': 1.0})"
- ]
- },
- "execution_count": 20,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "from sentence_transformers import losses, SentenceTransformer\n",
- "from sentence_transformers.trainer import SentenceTransformerTrainer\n",
- "from sentence_transformers.training_args import SentenceTransformerTrainingArguments\n",
- "\n",
- "# Define model\n",
- "embedding_model = SentenceTransformer('bert-base-uncased')\n",
- "\n",
- "# Loss function\n",
- "train_loss = losses.MultipleNegativesRankingLoss(model=embedding_model)\n",
- "\n",
- "# Define the training arguments\n",
- "args = SentenceTransformerTrainingArguments(\n",
- " output_dir=\"mnrloss_embedding_model\",\n",
- " num_train_epochs=1,\n",
- " per_device_train_batch_size=32,\n",
- " per_device_eval_batch_size=32,\n",
- " warmup_steps=100,\n",
- " fp16=True,\n",
- " eval_steps=100,\n",
- " logging_steps=100,\n",
- ")\n",
- "\n",
- "# Train model\n",
- "trainer = SentenceTransformerTrainer(\n",
- " model=embedding_model,\n",
- " args=args,\n",
- " train_dataset=train_dataset,\n",
- " loss=train_loss,\n",
- " evaluator=evaluator\n",
- ")\n",
- "trainer.train()"
- ]
+ "outputs": [],
+ "source": "from sentence_transformers import losses, SentenceTransformer\nfrom sentence_transformers.trainer import SentenceTransformerTrainer\nfrom sentence_transformers.training_args import SentenceTransformerTrainingArguments\n\n# Define model\nembedding_model = SentenceTransformer('bert-base-uncased')\n\n# Loss function\ntrain_loss = losses.MultipleNegativesRankingLoss(model=embedding_model)\n\n# Define the training arguments\nargs = SentenceTransformerTrainingArguments(\n output_dir=\"mnrloss_embedding_model\",\n num_train_epochs=1,\n per_device_train_batch_size=32,\n per_device_eval_batch_size=32,\n warmup_steps=100,\n fp16=True,\n eval_steps=100,\n logging_steps=100,\n report_to=\"none\",\n)\n\n# Train model\ntrainer = SentenceTransformerTrainer(\n model=embedding_model,\n args=args,\n train_dataset=train_dataset,\n loss=train_loss,\n evaluator=evaluator\n)\ntrainer.train()"
},
{
"cell_type": "code",
@@ -1624,342 +1316,8 @@
"id": "iQ3vW2VTA9dN",
"outputId": "8772abf8-992c-4ec1-9e27-2f90cf1e4503"
},
- "outputs": [
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "a3a94fe38f134761a6998fa7a057eb7e",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "modules.json: 0%| | 0.00/349 [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "924aec3545864e3fb5fdcf962c21836a",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "config_sentence_transformers.json: 0%| | 0.00/116 [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "cde32db4b98f41c9948c2f28c20a4c0a",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "README.md: 0%| | 0.00/10.7k [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "bbbb12d403fc4edc9f27e3ef9927ffd8",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "sentence_bert_config.json: 0%| | 0.00/53.0 [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/usr/local/lib/python3.10/dist-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
- " warnings.warn(\n"
- ]
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "f8e627842b8c4342ac797c94121e83bf",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "config.json: 0%| | 0.00/612 [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "7a5a63ac37a94a009b7f6ba99f08e2da",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "model.safetensors: 0%| | 0.00/90.9M [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "49d930971e0e4ef3a611eec49bf0f53e",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "tokenizer_config.json: 0%| | 0.00/350 [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "6413d644285c47d08e2991171f2fedb6",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "vocab.txt: 0%| | 0.00/232k [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "aaf53993e3f1420b920b0afaf2919842",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "tokenizer.json: 0%| | 0.00/466k [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "22bad8429f9d4e4db13f79b7c36c79cb",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "special_tokens_map.json: 0%| | 0.00/112 [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "3d885279ea8f4e1dacca331fbc0a9d0a",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "1_Pooling/config.json: 0%| | 0.00/190 [00:00, ?B/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "\n",
- " \n",
- " \n",
- "
\n",
- " [1563/1563 01:57, Epoch 1/1]\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | Step | \n",
- " Training Loss | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 100 | \n",
- " 0.155500 | \n",
- "
\n",
- " \n",
- " | 200 | \n",
- " 0.110000 | \n",
- "
\n",
- " \n",
- " | 300 | \n",
- " 0.118600 | \n",
- "
\n",
- " \n",
- " | 400 | \n",
- " 0.115300 | \n",
- "
\n",
- " \n",
- " | 500 | \n",
- " 0.110700 | \n",
- "
\n",
- " \n",
- " | 600 | \n",
- " 0.101000 | \n",
- "
\n",
- " \n",
- " | 700 | \n",
- " 0.113100 | \n",
- "
\n",
- " \n",
- " | 800 | \n",
- " 0.099800 | \n",
- "
\n",
- " \n",
- " | 900 | \n",
- " 0.109600 | \n",
- "
\n",
- " \n",
- " | 1000 | \n",
- " 0.105800 | \n",
- "
\n",
- " \n",
- " | 1100 | \n",
- " 0.094900 | \n",
- "
\n",
- " \n",
- " | 1200 | \n",
- " 0.106400 | \n",
- "
\n",
- " \n",
- " | 1300 | \n",
- " 0.105300 | \n",
- "
\n",
- " \n",
- " | 1400 | \n",
- " 0.105200 | \n",
- "
\n",
- " \n",
- " | 1500 | \n",
- " 0.106600 | \n",
- "
\n",
- " \n",
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "511480884e6145cda98eac03e3eaa214",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "Computing widget examples: 0%| | 0/5 [00:00, ?example/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "dc3cccdae676461b991e6b375b482344",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "Computing widget examples: 0%| | 0/5 [00:00, ?example/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "27bf3b15061241b5bc14c47e9713364e",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "Computing widget examples: 0%| | 0/5 [00:00, ?example/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- "TrainOutput(global_step=1563, training_loss=0.10982195932897176, metrics={'train_runtime': 117.3739, 'train_samples_per_second': 425.989, 'train_steps_per_second': 13.316, 'total_flos': 0.0, 'train_loss': 0.10982195932897176, 'epoch': 1.0})"
- ]
- },
- "execution_count": 24,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "from sentence_transformers import losses, SentenceTransformer\n",
- "from sentence_transformers.trainer import SentenceTransformerTrainer\n",
- "from sentence_transformers.training_args import SentenceTransformerTrainingArguments\n",
- "\n",
- "# Define model\n",
- "embedding_model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')\n",
- "\n",
- "# Loss function\n",
- "train_loss = losses.MultipleNegativesRankingLoss(model=embedding_model)\n",
- "\n",
- "# Define the training arguments\n",
- "args = SentenceTransformerTrainingArguments(\n",
- " output_dir=\"finetuned_embedding_model\",\n",
- " num_train_epochs=1,\n",
- " per_device_train_batch_size=32,\n",
- " per_device_eval_batch_size=32,\n",
- " warmup_steps=100,\n",
- " fp16=True,\n",
- " eval_steps=100,\n",
- " logging_steps=100,\n",
- ")\n",
- "\n",
- "# Train model\n",
- "trainer = SentenceTransformerTrainer(\n",
- " model=embedding_model,\n",
- " args=args,\n",
- " train_dataset=train_dataset,\n",
- " loss=train_loss,\n",
- " evaluator=evaluator\n",
- ")\n",
- "trainer.train()"
- ]
+ "outputs": [],
+ "source": "from sentence_transformers import losses, SentenceTransformer\nfrom sentence_transformers.trainer import SentenceTransformerTrainer\nfrom sentence_transformers.training_args import SentenceTransformerTrainingArguments\n\n# Define model\nembedding_model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')\n\n# Loss function\ntrain_loss = losses.MultipleNegativesRankingLoss(model=embedding_model)\n\n# Define the training arguments\nargs = SentenceTransformerTrainingArguments(\n output_dir=\"finetuned_embedding_model\",\n num_train_epochs=1,\n per_device_train_batch_size=32,\n per_device_eval_batch_size=32,\n warmup_steps=100,\n fp16=True,\n eval_steps=100,\n logging_steps=100,\n report_to=\"none\",\n)\n\n# Train model\ntrainer = SentenceTransformerTrainer(\n model=embedding_model,\n args=args,\n train_dataset=train_dataset,\n loss=train_loss,\n evaluator=evaluator\n)\ntrainer.train()"
},
{
"cell_type": "code",
@@ -2353,39 +1711,7 @@
"id": "MK1KybOI_uIY"
},
"outputs": [],
- "source": [
- "from sentence_transformers import losses, SentenceTransformer\n",
- "from sentence_transformers.trainer import SentenceTransformerTrainer\n",
- "from sentence_transformers.training_args import SentenceTransformerTrainingArguments\n",
- "\n",
- "# Define model\n",
- "embedding_model = SentenceTransformer('bert-base-uncased')\n",
- "\n",
- "# Loss function\n",
- "train_loss = losses.CosineSimilarityLoss(model=embedding_model)\n",
- "\n",
- "# Define the training arguments\n",
- "args = SentenceTransformerTrainingArguments(\n",
- " output_dir=\"augmented_embedding_model\",\n",
- " num_train_epochs=1,\n",
- " per_device_train_batch_size=32,\n",
- " per_device_eval_batch_size=32,\n",
- " warmup_steps=100,\n",
- " fp16=True,\n",
- " eval_steps=100,\n",
- " logging_steps=100,\n",
- ")\n",
- "\n",
- "# Train model\n",
- "trainer = SentenceTransformerTrainer(\n",
- " model=embedding_model,\n",
- " args=args,\n",
- " train_dataset=train_dataset,\n",
- " loss=train_loss,\n",
- " evaluator=evaluator\n",
- ")\n",
- "trainer.train()"
- ]
+ "source": "from sentence_transformers import losses, SentenceTransformer\nfrom sentence_transformers.trainer import SentenceTransformerTrainer\nfrom sentence_transformers.training_args import SentenceTransformerTrainingArguments\n\n# Define model\nembedding_model = SentenceTransformer('bert-base-uncased')\n\n# Loss function\ntrain_loss = losses.CosineSimilarityLoss(model=embedding_model)\n\n# Define the training arguments\nargs = SentenceTransformerTrainingArguments(\n output_dir=\"augmented_embedding_model\",\n num_train_epochs=1,\n per_device_train_batch_size=32,\n per_device_eval_batch_size=32,\n warmup_steps=100,\n fp16=True,\n eval_steps=100,\n logging_steps=100,\n report_to=\"none\",\n)\n\n# Train model\ntrainer = SentenceTransformerTrainer(\n model=embedding_model,\n args=args,\n train_dataset=train_dataset,\n loss=train_loss,\n evaluator=evaluator\n)\ntrainer.train()"
},
{
"cell_type": "code",
@@ -2426,40 +1752,7 @@
"id": "wyPBGfxp0D_7"
},
"outputs": [],
- "source": [
- "# Combine gold + silver\n",
- "data = pd.concat([gold], ignore_index=True, axis=0)\n",
- "data = data.drop_duplicates(subset=['sentence1', 'sentence2'], keep=\"first\")\n",
- "train_dataset = Dataset.from_pandas(data, preserve_index=False)\n",
- "\n",
- "# Define model\n",
- "embedding_model = SentenceTransformer('bert-base-uncased')\n",
- "\n",
- "# Loss function\n",
- "train_loss = losses.CosineSimilarityLoss(model=embedding_model)\n",
- "\n",
- "# Define the training arguments\n",
- "args = SentenceTransformerTrainingArguments(\n",
- " output_dir=\"gold_only_embedding_model\",\n",
- " num_train_epochs=1,\n",
- " per_device_train_batch_size=32,\n",
- " per_device_eval_batch_size=32,\n",
- " warmup_steps=100,\n",
- " fp16=True,\n",
- " eval_steps=100,\n",
- " logging_steps=100,\n",
- ")\n",
- "\n",
- "# Train model\n",
- "trainer = SentenceTransformerTrainer(\n",
- " model=embedding_model,\n",
- " args=args,\n",
- " train_dataset=train_dataset,\n",
- " loss=train_loss,\n",
- " evaluator=evaluator\n",
- ")\n",
- "trainer.train()"
- ]
+ "source": "# Combine gold + silver\ndata = pd.concat([gold], ignore_index=True, axis=0)\ndata = data.drop_duplicates(subset=['sentence1', 'sentence2'], keep=\"first\")\ntrain_dataset = Dataset.from_pandas(data, preserve_index=False)\n\n# Define model\nembedding_model = SentenceTransformer('bert-base-uncased')\n\n# Loss function\ntrain_loss = losses.CosineSimilarityLoss(model=embedding_model)\n\n# Define the training arguments\nargs = SentenceTransformerTrainingArguments(\n output_dir=\"gold_only_embedding_model\",\n num_train_epochs=1,\n per_device_train_batch_size=32,\n per_device_eval_batch_size=32,\n warmup_steps=100,\n fp16=True,\n eval_steps=100,\n logging_steps=100,\n report_to=\"none\",\n)\n\n# Train model\ntrainer = SentenceTransformerTrainer(\n model=embedding_model,\n args=args,\n train_dataset=train_dataset,\n loss=train_loss,\n evaluator=evaluator\n)\ntrainer.train()"
},
{
"cell_type": "code",
@@ -2652,32 +1945,7 @@
"id": "PYApurOS07x0"
},
"outputs": [],
- "source": [
- "from sentence_transformers.trainer import SentenceTransformerTrainer\n",
- "from sentence_transformers.training_args import SentenceTransformerTrainingArguments\n",
- "\n",
- "# Define the training arguments\n",
- "args = SentenceTransformerTrainingArguments(\n",
- " output_dir=\"tsdae_embedding_model\",\n",
- " num_train_epochs=1,\n",
- " per_device_train_batch_size=16,\n",
- " per_device_eval_batch_size=16,\n",
- " warmup_steps=100,\n",
- " fp16=True,\n",
- " eval_steps=100,\n",
- " logging_steps=100,\n",
- ")\n",
- "\n",
- "# Train model\n",
- "trainer = SentenceTransformerTrainer(\n",
- " model=embedding_model,\n",
- " args=args,\n",
- " train_dataset=train_dataset,\n",
- " loss=train_loss,\n",
- " evaluator=evaluator\n",
- ")\n",
- "trainer.train()"
- ]
+ "source": "from sentence_transformers.trainer import SentenceTransformerTrainer\nfrom sentence_transformers.training_args import SentenceTransformerTrainingArguments\n\n# Define the training arguments\nargs = SentenceTransformerTrainingArguments(\n output_dir=\"tsdae_embedding_model\",\n num_train_epochs=1,\n per_device_train_batch_size=16,\n per_device_eval_batch_size=16,\n warmup_steps=100,\n fp16=True,\n eval_steps=100,\n logging_steps=100,\n report_to=\"none\",\n)\n\n# Train model\ntrainer = SentenceTransformerTrainer(\n model=embedding_model,\n args=args,\n train_dataset=train_dataset,\n loss=train_loss,\n evaluator=evaluator\n)\ntrainer.train()"
},
{
"cell_type": "code",
@@ -2735,4 +2003,4 @@
},
"nbformat": 4,
"nbformat_minor": 4
-}
+}
\ No newline at end of file
diff --git a/chapter11/Chapter 11 - Fine-Tuning BERT.ipynb b/chapter11/Chapter 11 - Fine-Tuning BERT.ipynb
index c6879d3..c1a6420 100644
--- a/chapter11/Chapter 11 - Fine-Tuning BERT.ipynb
+++ b/chapter11/Chapter 11 - Fine-Tuning BERT.ipynb
@@ -2115,42 +2115,8 @@
"id": "zZ10SpAXdNvC",
"outputId": "f9930b86-e077-4233-f7d7-16c5ec1e640d"
},
- "outputs": [
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "630de7830edb4104938bef1c304129c0",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "Map: 0%| | 0/32 [00:00, ? examples/s]"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "from setfit import TrainingArguments as SetFitTrainingArguments\n",
- "from setfit import Trainer as SetFitTrainer\n",
- "\n",
- "# Define training arguments\n",
- "args = SetFitTrainingArguments(\n",
- " num_epochs=3, # The number of epochs to use for contrastive learning\n",
- " num_iterations=20 # The number of text pairs to generate\n",
- ")\n",
- "args.eval_strategy = args.evaluation_strategy\n",
- "\n",
- "# Create trainer\n",
- "trainer = SetFitTrainer(\n",
- " model=model,\n",
- " args=args,\n",
- " train_dataset=sampled_train_data,\n",
- " eval_dataset=test_data,\n",
- " metric=\"f1\"\n",
- ")"
- ]
+ "outputs": [],
+ "source": "from setfit import TrainingArguments as SetFitTrainingArguments\nfrom setfit import Trainer as SetFitTrainer\n\n# Define training arguments\nargs = SetFitTrainingArguments(\n num_epochs=3, # The number of epochs to use for contrastive learning\n num_iterations=20, # The number of text pairs to generate\n report_to=\"none\",\n)\nargs.eval_strategy = args.evaluation_strategy\n\n# Create trainer\ntrainer = SetFitTrainer(\n model=model,\n args=args,\n train_dataset=sampled_train_data,\n eval_dataset=test_data,\n metric=\"f1\"\n)"
},
{
"cell_type": "code",
@@ -3624,4 +3590,4 @@
},
"nbformat": 4,
"nbformat_minor": 4
-}
+}
\ No newline at end of file