\n",
14 | "
演習: インストラクションチューニングのためのデータセットを生成する
\n",
15 | "
インストラクションチューニングのためのデータセットを生成する方法を見たので、実際にインストラクションチューニングのためのデータセットを生成してみましょう。
\n",
16 | "
難易度レベル
\n",
17 | "
🐢 インストラクションチューニングデータセットを生成する
\n",
18 | "
🐕 シードデータを使用してインストラクションチューニングのためのデータセットを生成する
\n",
19 | "
🦁 シードデータとインストラクションの進化を使用してインストラクションチューニングのためのデータセットを生成する
\n",
20 | "
"
21 | ]
22 | },
23 | {
24 | "cell_type": "markdown",
25 | "metadata": {
26 | "vscode": {
27 | "languageId": "plaintext"
28 | }
29 | },
30 | "source": [
31 | "## 依存関係のインストール\n",
32 | "\n",
33 | "transformersの代わりに、`vllm`や`hf-inference-endpoints`をインストールすることもできます。"
34 | ]
35 | },
36 | {
37 | "cell_type": "code",
38 | "execution_count": null,
39 | "metadata": {},
40 | "outputs": [],
41 | "source": [
42 | "!pip install \"distilabel[hf-transformers,outlines,instructor]\""
43 | ]
44 | },
45 | {
46 | "cell_type": "markdown",
47 | "metadata": {},
48 | "source": [
49 | "## 合成の開始\n",
50 | "\n",
51 | "前のコース内容で見たように、インストラクションデータセット生成のためのdistilabelパイプラインを作成できます。最低限のパイプラインはすでに提供されています。このパイプラインをスケールアップして、インストラクションチューニングのための大規模なデータセットを生成してください。モデル、モデルプロバイダー、生成引数を入れ替えて、データセットの品質にどのように影響するかを確認してください。小規模に実験し、後でスケールアップしましょう。\n",
52 | "\n",
53 | "[distilabelコンポーネントギャラリー](https://distilabel.argilla.io/latest/components-gallery/)で、処理クラスの情報とその使用方法を確認してください。\n",
54 | "\n",
55 | "辞書からデータをロードする代わりに、Hubからデータをロードする例を以下に示します。\n",
56 | "\n",
57 | "```python\n",
58 | "from datasets import load_dataset\n",
59 | "\n",
60 | "with Pipeline(...) as pipeline:\n",
61 | " ...\n",
62 | "\n",
63 | "if __name__ == \"__main__:\n",
64 | " dataset = load_dataset(\"my-dataset\", split=\"train\")\n",
65 | " distiset = pipeline.run(dataset=dataset)\n",
66 | "```\n",
67 | "\n",
68 | "パイプラインを実行した後、データセットをHubにプッシュするのを忘れないでください!"
69 | ]
70 | },
71 | {
72 | "cell_type": "code",
73 | "execution_count": null,
74 | "metadata": {},
75 | "outputs": [],
76 | "source": [
77 | "from distilabel.llms import TransformersLLM\n",
78 | "from distilabel.pipeline import Pipeline\n",
79 | "from distilabel.steps import LoadDataFromDicts\n",
80 | "from distilabel.steps.tasks import TextGeneration\n",
81 | "\n",
82 | "with Pipeline() as pipeline:\n",
83 | " data = LoadDataFromDicts(data=[{\"instruction\": \"Hugging Faceの小規模AIモデルに関するSmol-Courseについての短い質問を生成してください。\"}])\n",
84 | " llm = TransformersLLM(model=\"HuggingFaceTB/SmolLM2-1.7B-Instruct\")\n",
85 | " gen_a = TextGeneration(llm=llm, output_mappings={\"generation\": \"instruction\"})\n",
86 | " gen_b = TextGeneration(llm=llm, output_mappings={\"generation\": \"response\"})\n",
87 | " data >> gen_a >> gen_b\n",
88 | "\n",
89 | "if __name__ == \"__main__\":\n",
90 | " distiset = pipeline.run(use_cache=False)\n",
91 | " distiset.push_to_hub(\"huggingface-smol-course-instruction-tuning-dataset\")"
92 | ]
93 | },
94 | {
95 | "cell_type": "markdown",
96 | "metadata": {},
97 | "source": [
98 | "## 🌯 まとめ\n",
99 | "\n",
100 | "インストラクションチューニングのためのデータセットを生成する方法を見てきました。これを使用して次のことができます:\n",
101 | "\n",
102 | "- インストラクションチューニングのためのデータセットを生成する。\n",
103 | "- インストラクションチューニングのための評価データセットを作成する。\n",
104 | "\n",
105 | "次に\n",
106 | "\n",
107 | "🧑🏫 学ぶ - [preference datasetsの生成](./preference_datasets.md)について学ぶ\n",
108 | "🏋️♂️ 合成データセットに基づいて[インストラクションチューニングの章](../../1_instruction_tuning/README.md)でモデルを微調整する\n"
109 | ]
110 | }
111 | ],
112 | "metadata": {
113 | "language_info": {
114 | "name": "python"
115 | }
116 | },
117 | "nbformat": 4,
118 | "nbformat_minor": 2
119 | }
120 |
--------------------------------------------------------------------------------
/ja/6_synthetic_datasets/notebooks/preference_dpo_dataset.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# 嗜好調整のためのデータセットを生成する\n",
8 | "\n",
9 | "このノートブックでは、嗜好調整のためのデータセットを生成するプロセスを案内します。`distilabel`パッケージを使用して嗜好調整のためのデータセットを生成します。\n",
10 | "\n",
11 | "それでは、嗜好調整データセットを見てみましょう。\n",
12 | "\n",
13 | "\n",
14 | "
演習: 嗜好調整のためのデータセットを生成する
\n",
15 | "
嗜好調整のためのデータセットを生成する方法を見たので、実際に嗜好調整のためのデータセットを生成してみましょう。
\n",
16 | "
難易度レベル
\n",
17 | "
🐢 嗜好調整のためのデータセットを生成する
\n",
18 | "
🐕 応答の進化を使用して嗜好調整のためのデータセットを生成する
\n",
19 | "
🦁 応答の進化とモデルプーリングを使用して嗜好調整のためのデータセットを生成する
\n",
20 | "
"
21 | ]
22 | },
23 | {
24 | "cell_type": "markdown",
25 | "metadata": {
26 | "vscode": {
27 | "languageId": "plaintext"
28 | }
29 | },
30 | "source": [
31 | "## 依存関係のインストール\n",
32 | "\n",
33 | "transformersの代わりに、`vllm`や`hf-inference-endpoints`をインストールすることもできます。"
34 | ]
35 | },
36 | {
37 | "cell_type": "code",
38 | "execution_count": null,
39 | "metadata": {},
40 | "outputs": [],
41 | "source": [
42 | "!pip install \"distilabel[hf-transformers,outlines,instructor]\""
43 | ]
44 | },
45 | {
46 | "cell_type": "markdown",
47 | "metadata": {},
48 | "source": [
49 | "## 合成の開始\n",
50 | "\n",
51 | "前のノートブックで見たように、嗜好データセット生成のためのdistilabelパイプラインを作成できます。最低限のパイプラインはすでに提供されています。このパイプラインをスケールアップして、嗜好調整のための大規模なデータセットを生成してください。モデル、モデルプロバイダー、生成引数を入れ替えて、データセットの品質にどのように影響するかを確認してください。小規模に実験し、後でスケールアップしましょう。\n",
52 | "\n",
53 | "[distilabelコンポーネントギャラリー](https://distilabel.argilla.io/latest/components-gallery/)で、処理クラスの情報とその使用方法を確認してください。\n",
54 | "\n",
55 | "辞書からデータをロードする代わりに、Hubからデータをロードする例を以下に示します。\n",
56 | "\n",
57 | "```python\n",
58 | "from datasets import load_dataset\n",
59 | "\n",
60 | "with Pipeline(...) as pipeline:\n",
61 | " ...\n",
62 | "\n",
63 | "if __name__ == \"__main__:\n",
64 | " dataset = load_dataset(\"my-dataset\", split=\"train\")\n",
65 | " distiset = pipeline.run(dataset=dataset)\n",
66 | "```\n",
67 | "\n",
68 | "パイプラインを実行した後、データセットをHubにプッシュするのを忘れないでください!"
69 | ]
70 | },
71 | {
72 | "cell_type": "code",
73 | "execution_count": null,
74 | "metadata": {},
75 | "outputs": [],
76 | "source": [
77 | "from distilabel.llms import TransformersLLM\n",
78 | "from distilabel.pipeline import Pipeline\n",
79 | "from distilabel.steps import GroupColumns, LoadDataFromDicts\n",
80 | "from distilabel.steps.tasks import TextGeneration\n",
81 | "\n",
82 | "with Pipeline() as pipeline:\n",
83 | " data = LoadDataFromDicts(data=[{\"instruction\": \"合成データとは何ですか?\"}])\n",
84 | " llm_a = TransformersLLM(model=\"HuggingFaceTB/SmolLM2-1.7B-Instruct\")\n",
85 | " gen_a = TextGeneration(llm=llm_a)\n",
86 | " llm_b = TransformersLLM(model=\"Qwen/Qwen2.5-1.5B-Instruct\")\n",
87 | " gen_b = TextGeneration(llm=llm_b)\n",
88 | " group = GroupColumns(columns=[\"generation\"])\n",
89 | " data >> [gen_a, gen_b] >> group\n",
90 | "\n",
91 | "if __name__ == \"__main__\":\n",
92 | " distiset = pipeline.run()\n",
93 | " distiset.push_to_hub(\"huggingface-smol-course-preference-tuning-dataset\")"
94 | ]
95 | },
96 | {
97 | "cell_type": "markdown",
98 | "metadata": {},
99 | "source": [
100 | "## 🌯 まとめ\n",
101 | "\n",
102 | "嗜好調整のためのデータセットを生成する方法を見てきました。これを使用して次のことができます:\n",
103 | "\n",
104 | "- 嗜好調整のためのデータセットを生成する。\n",
105 | "- 嗜好調整のための評価データセットを作成する。\n",
106 | "\n",
107 | "次に\n",
108 | "\n",
109 | "🏋️♂️ 合成データセットに基づいて[嗜好調整の章](../../2_preference_alignment/README.md)でモデルを微調整する\n"
110 | ]
111 | }
112 | ],
113 | "metadata": {
114 | "language_info": {
115 | "name": "python"
116 | }
117 | },
118 | "nbformat": 4,
119 | "nbformat_minor": 2
120 | }
121 |
--------------------------------------------------------------------------------
/ja/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # スモールコース
4 |
5 | これは、特定のユースケースに合わせて言語モデルを調整するための実践的なコースです。ほとんどのローカルマシンで実行できるため、言語モデルの調整を始めるのに便利です。GPUの要件は最小限で、有料サービスは必要ありません。このコースは[SmolLM2](https://github.com/huggingface/smollm/tree/main)シリーズのモデルに基づいていますが、ここで学んだスキルを大規模なモデルや他の小型言語モデルに転用することができます。
6 |
7 |
12 |
参加は無料で、今すぐ始められます!
13 |
このコースはオープンでピアレビューされています。コースに参加するには、プルリクエストを開くことで、あなたの作業をレビューに提出してください。以下の手順に従ってください:
14 |
15 | - リポジトリをフォークします こちら
16 | - 資料を読み、変更を加え、演習を行い、自分の例を追加します。
17 | - december_2024ブランチでプルリクエストを開きます
18 | - レビューを受けてマージされます
19 |
20 |
これにより、学習を助け、常に改善されるコミュニティ主導のコースを構築することができます。
21 |
22 |
23 | このプロセスについては、この[ディスカッションスレッド](https://github.com/huggingface/smol-course/discussions/2#discussion-7602932)で議論できます。
24 |
25 | ## コース概要
26 |
27 | このコースは、小型言語モデルを使用した実践的なアプローチを提供し、初期のトレーニングから本番展開までをカバーします。
28 |
29 | | モジュール | 説明 | ステータス | リリース日 |
30 | |--------|-------------|---------|--------------|
31 | | [インストラクションチューニング](./1_instruction_tuning) | 教師あり微調整、チャットテンプレート、および基本的な指示に従う方法を学びます | ✅ 準備完了 | 2024年12月3日 |
32 | | [選好整合](./2_preference_alignment) | DPOおよびORPO技術を探求し、人間の選好にモデルを整合させる方法を学びます | ✅ 準備完了 | 2024年12月6日 |
33 | | [パラメータ効率の良い微調整](./3_parameter_efficient_finetuning) | LoRA、プロンプトチューニング、および効率的な適応方法を学びます | ✅ 準備完了 | 2024年12月9日 |
34 | | [評価](./4_evaluation) | 自動ベンチマークを使用し、カスタムドメイン評価を作成する方法を学びます | ✅ 準備完了 | 2024年12月13日 |
35 | | [ビジョン言語モデル](./5_vision_language_models) | マルチモーダルモデルをビジョン言語タスクに適応させる方法を学びます | ✅ 準備完了 | 2024年12月16日 |
36 | | [合成データセット](./6_synthetic_datasets) | トレーニング用の合成データセットを作成し、検証する方法を学びます | ✅ 準備完了 | 2024年12月20日 |
37 | | [推論](./7_inference) | モデルを効率的に推論する方法を学びます | [🚧 作業中](https://github.com/huggingface/smol-course/pull/150) | 2025年1月8日 |
38 | | [エージェント](./8_agents) | 自分のエージェントAIを構築する方法を学びます | ✅ 準備完了 | 2025年1月13日 ||
39 | | キャップストーンプロジェクト | 学んだことを使ってリーダーボードを登りましょう! | [🚧 作業中](https://github.com/huggingface/smol-course/pull/97) | 2025年1月10日 |
40 |
41 | ## なぜ小型言語モデルなのか?
42 |
43 | 大規模な言語モデルは印象的な能力を示していますが、しばしば多くの計算リソースを必要とし、特定のアプリケーションには過剰な場合があります。小型言語モデルは、ドメイン固有のアプリケーションに対していくつかの利点を提供します:
44 |
45 | - **効率性**:トレーニングと展開に必要な計算リソースが大幅に少ない
46 | - **カスタマイズ**:特定のドメインに簡単に微調整および適応可能
47 | - **制御**:モデルの動作をよりよく理解し、制御できる
48 | - **コスト**:トレーニングと推論の運用コストが低い
49 | - **プライバシー**:データを外部APIに送信せずにローカルで実行可能
50 | - **グリーンテクノロジー**:リソースの効率的な使用を推進し、炭素排出量を削減
51 | - **学術研究の容易さ**:最先端のLLMを使用した学術研究のための簡単なスターターを提供し、物流の制約を減らす
52 |
53 | ## 前提条件
54 |
55 | 開始する前に、以下を確認してください:
56 | - 機械学習と自然言語処理の基本的な理解
57 | - Python、PyTorch、および`transformers`ライブラリに精通していること
58 | - 事前学習された言語モデルとラベル付きデータセットへのアクセス
59 |
60 | ## インストール
61 |
62 | コースをパッケージとして維持しているため、パッケージマネージャーを使用して依存関係を簡単にインストールできます。`uv`をお勧めしますが、`pip`や`pdm`などの代替手段も使用できます。
63 |
64 | ### `uv`を使用する場合
65 |
66 | `uv`がインストールされている場合、次のようにしてコースをインストールできます:
67 |
68 | ```bash
69 | uv venv --python 3.11.0
70 | uv sync
71 | ```
72 |
73 | ### `pip`を使用する場合
74 |
75 | すべての例は**python 3.11**環境で実行されるため、次のように環境を作成し、依存関係をインストールします:
76 |
77 | ```bash
78 | # python -m venv .venv
79 | # source .venv/bin/activate
80 | pip install -r requirements.txt
81 | ```
82 |
83 | ### Google Colab
84 |
85 | **Google Colabから**は、使用するハードウェアに基づいて柔軟に依存関係をインストールする必要があります。次のようにします:
86 |
87 | ```bash
88 | pip install transformers trl datasets huggingface_hub
89 | ```
90 |
91 |
--------------------------------------------------------------------------------
/ko/1_instruction_tuning/README.md:
--------------------------------------------------------------------------------
1 | # 지시 조정(Instruction Tuning)
2 |
3 | 이 모듈에서는 언어 모델의 지시 조정(instruction tuning) 방법을 설명합니다. 지시 조정이란, 사전 학습된 모델을 특정 태스크에 맞게 조정하기 위해 해당 태스크와 관련된 데이터셋으로 추가 학습시키는 과정을 의미합니다. 이를 통해 목표로 하는 작업에서 모델이 더 나은 성능을 발휘할 수 있습니다.
4 |
5 | 이 모듈에서는 다음 두 가지 주제를 다룰 예정입니다: 1) 대화 템플릿(Chat Templates) 2) 지도 학습 기반 미세 조정(Supervised Fine-Tuning)
6 |
7 | ## 1️⃣ 대화 템플릿
8 |
9 | 채팅 템플릿(Chat Templates)은 사용자와 AI 모델 간의 상호작용을 구조화하여 모델의 일관되고 적절한 맥락의 응답을 보장합니다. 템플릿에는 시스템 프롬프트와 역할 기반 메시지와 같은 구성 요소가 포함됩니다. 더 자세한 내용은 [대화 템플릿](./chat_templates.md) 섹션을 참고하세요.
10 |
11 | ## 2️⃣ 지도 학습 기반 미세 조정
12 |
13 | 지도 학습 기반 미세 조정(SFT)은 사전 학습된 언어 모델이 특정 작업에 적합하도록 조정하는 데 핵심적인 과정입니다. 이 과정에서는 레이블이 포함된 태스크별 데이터셋을 사용해 모델을 학습시킵니다. SFT의 주요 단계와 모범 사례를 포함한 자세한 가이드는 [지도 학습 기반 미세 조정](./supervised_fine_tuning.md) 섹션을 참고하세요.
14 |
15 | ## 실습 노트북
16 | | 파일명 | 설명 | 실습 내용 | 링크 | Colab |
17 | |-------|-------------|----------|------|-------|
18 | | Chat Templates | SmolLM2를 활용한 대화 템플릿 사용법과 데이터셋을 ChatML 형식으로 변환하는 과정 학습 | 🐢 `HuggingFaceTB/smoltalk` 데이터셋을 chatml 형식으로 변환해보기
12 |
지금 바로 참여하세요!
13 |
이 과정은 열려 있으며 다른 사용자와의 상호 검토를 진행할 수 있습니다. 이 과정에 참여하려면 pull request(PR)를 열고 검토 받을 수 있도록 결과물을 제출하세요. 다음 단계를 따르면 됩니다:
14 |
15 | - 여기에서 레포지토리를 fork하세요.
16 | - 자료를 읽고, 바꿔 보고, 실습해보고, 나만의 예제를 추가해보세요.
17 | - december-2024 브랜치에 PR을 보내세요.
18 | - 검토가 끝나면 december-2024 브랜치에 병합됩니다.
19 |
20 |
이 과정은 학습에 도움이 될 뿐만 아니라 지속적으로 발전하는 커뮤니티 기반 코스를 형성하는 데에도 기여할 것입니다.
21 |
22 |
23 | [discussion thread](https://github.com/huggingface/smol-course/discussions/2#discussion-7602932)에서 과정에 대해 토론할 수도 있습니다.
24 |
25 | ## 과정 개요
26 |
27 | 이 과정은 소형 언어 모델의 초기 학습부터 결과물 배포까지 실습할 수 있는 실용적인 내용을 제공합니다.
28 |
29 | | 모듈 | 설명 | 상태 | 공개일 |
30 | |--------|-------------|---------|--------------|
31 | | [Instruction Tuning](./1_instruction_tuning) | 지도 학습 기반 미세 조정, 대화 템플릿 작성, 기본적인 지시를 따르게 하는 방법 학습 | ✅ 학습 가능 | 2024. 12. 3 |
32 | | [Preference Alignment](./2_preference_alignment) | 모델을 인간 선호도에 맞게 정렬하기 위한 DPO와 ORPO 기법 학습 | ✅ 학습 가능 | 2024. 12. 6 |
33 | | [Parameter-efficient Fine-tuning](./3_parameter_efficient_finetuning) | LoRA, 프롬프트 튜닝을 포함한 효율적인 적응 방법 학습 | ✅ 학습 가능 | 2024. 12. 9 |
34 | | [Evaluation](./4_evaluation) | 자동 벤치마크 사용법 및 사용자 정의 도메인 평가 수행 방법 학습 | ✅ 학습 가능 | 2024. 12. 13 |
35 | | [Vision-language Models](./5_vision_language_models) | 비전-언어 태스크를 위한 멀티모달 모델 적용 방법 학습 | [🚧 준비중](https://github.com/huggingface/smol-course/issues/49) | 2024. 12. 16 |
36 | | [Synthetic Datasets](./6_synthetic_datasets) | 모델 학습을 위한 합성 데이터셋 생성 및 검증 | [🚧 준비중](https://github.com/huggingface/smol-course/issues/83) | 2024. 12. 20 |
37 | | [Inference](./7_inference) | 모델의 효율적인 추론 방법 학습 | 📝 작성 예정 | 2024. 12. 23 |
38 |
39 | ## 왜 소형 언어 모델을 사용하나요?
40 |
41 | 대형 언어 모델은 뛰어난 능력을 보여주지만, 상당한 연산 자원을 필요로 하며 특정 기능에 초점을 맞춘 애플리케이션에 대해서는 대형 언어 모델이 과한 경우도 있습니다. 소형 언어 모델은 도메인 특화 애플리케이션에 있어서 몇 가지 이점을 제공합니다:
42 |
43 | - **효율성**: 대형 언어 모델보다 훨씬 적은 연산 자원으로 학습 및 배포 가능
44 | - **맞춤화**: 특정 도메인에 대한 미세 조정 및 적응 용이
45 | - **제어**: 모델 동작 과정을 잘 이해할 수 있고 모델의 동작을 쉽게 제어 가능
46 | - **비용**: 학습과 추론 과정에서 필요한 비용 감소
47 | - **프라이버시**: 데이터를 외부 API로 보내지 않고 로컬에서 실행 가능
48 | - **친환경**: 탄소 발자국을 줄이는 효율적인 자원 사용
49 | - **쉬운 학술 연구 및 개발**: 최신 LLM을 활용해 물리적 제약 없이 학술 연구를 쉽게 시작할 수 있도록 지원
50 |
51 | ## 사전 준비 사항
52 |
53 | 시작하기 전에 아래 사항이 준비되어 있는지 확인하세요:
54 | - 머신러닝과 자연어처리에 대한 기본적인 이해가 필요합니다.
55 | - Python, PyTorch 및 `transformers` 라이브러리에 익숙해야 합니다.
56 | - 사전 학습된 언어 모델과 레이블이 있는 액세스할 수 있어야 합니다.
57 |
58 | ## 설치
59 |
60 | 이 과정은 패키지 형태로 관리되기 때문에 패키지 매니저를 이용해 의존성 설치를 쉽게 진행할 수 있습니다. 이를 위해 [uv](https://github.com/astral-sh/uv) 사용을 권장하지만 `pip`나 `pdm`을 사용할 수도 있습니다.
61 |
62 | ### `uv` 사용
63 |
64 | `uv`를 설치한 후, 아래 명령어로 소형 언어 모델 과정을 설치할 수 있습니다:
65 |
66 | ```bash
67 | uv venv --python 3.11.0
68 | uv sync
69 | ```
70 |
71 | ### `pip` 사용
72 |
73 | 모든 예제는 동일한 **python 3.11** 환경에서 실행되기 때문에 아래처럼 환경을 생성하고 의존성을 설치해야 합니다:
74 |
75 | ```bash
76 | # python -m venv .venv
77 | # source .venv/bin/activate
78 | pip install -r requirements.txt
79 | ```
80 |
81 | ### Google Colab
82 |
83 | **Google Colab**에서는 사용하는 하드웨어에 따라 유연하게 의존성을 설치해야 합니다. 아래와 같이 진행하세요:
84 |
85 | ```bash
86 | pip install transformers trl datasets huggingface_hub
87 | ```
88 |
89 | ## 참여
90 |
91 | 많은 사람이 고가의 장비 없이 LLM을 미세 조정하는 법을 배울 수 있도록 이 자료를 공유해 봅시다!
92 |
93 | [](https://star-history.com/#huggingface/smol-course&Date)
94 |
--------------------------------------------------------------------------------
/pt-br/1_instruction_tuning/README.md:
--------------------------------------------------------------------------------
1 | # Instruction Tuning (Ajuste de Instrução)
2 |
3 | Este módulo o guiará através de modelos de linguagem de ajuste de instrução. O ajuste de instrução envolve a adaptação de modelos pré-treinados a tarefas específicas, treinando-os ainda mais em conjuntos de dados específicos de tarefas. Esse processo ajuda os modelos a melhorar seu desempenho em certas tarefas específicas.
4 |
5 | Neste módulo, exploraremos dois tópicos: 1) Modelos de bate-papo e 2) Ajuste fino supervisionado.
6 |
7 | ## 1️⃣ Modelos de Bate-Papo
8 |
9 | Modelos de bate-papo estruturam interações entre usuários e modelos de IA, garantindo respostas consistentes e contextualmente apropriadas. Eles incluem componentes como avisos de sistema e mensagens baseadas em funções. Para informações mais detalhadas, Consulte a seção [Chat Templates (Modelos de Bate-Papo)](./chat_templates.md).
10 |
11 | ## 2️⃣ Ajuste Fino Supervisionado
12 |
13 | Ajuste fino supervisionado (em inglês, SFT - Supervised Fine-Tuning) é um processo crítico para adaptar modelos de linguagem pré-treinados a tarefas específicas. O ajuste envolve treinar o modelo em um conjunto de dados de uma tarefa específica com exemplos rotulados. Para um guia detalhado sobre SFT, incluindo etapas importantes e práticas recomendadas, veja a página [Supervised Fine-Tuning (Ajuste Fino Supervisionado)](./supervised_fine_tuning.md).
14 |
15 | ## Cadernos de Exercícios
16 |
17 | | Título | Descrição | Exercício | Link | Colab |
18 | |-------|-------------|----------|------|-------|
19 | | Modelos de Bate-Papo | Aprenda a usar modelos de bate-papo com SmolLM2 and a processar conjunto de dados para o formato chatml | 🐢 Converta o conjunto de dados `HuggingFaceTB/smoltalk` para o formato chatml