对于深度学习模型中的 Fine-tuning(微调)操作,以下是详细介绍和原理说明:
什么是 Fine-tuning(微调)?
Fine-tuning 是指在一个已经训练好的模型基础上,通过使用新的数据集或任务来进一步调整模型参数的过程。通常情况下,已经训练好的模型是在大规模数据集上进行训练得到的,而 Fine-tuning 则可以使模型适应新的特定任务或数据集。
Fine-tuning 的原理和步骤:
-
选择预训练模型:首先需要选择一个在大规模数据集上预训练过的模型,例如 BERT、GPT 等。这些模型在通用任务上已经表现出色,可以作为 Fine-tuning 的基础模型。
-
冻结部分网络层:在 Fine-tuning 过程中,通常会冻结模型的一部分网络层,即保持它们的权重不变,只对部分层进行参数更新。这样可以避免在新任务上过度拟合。
-
定义新任务:确定要在新数据集或任务上解决的问题,并根据问题定义相应的输出层和损失函数。
-
调整模型参数:通过在新数据集上反向传播误差,更新模型参数以适应新任务。在训练过程中,可以逐步解冻更多的网络层进行微调。
-
调整超参数:在 Fine-tuning 过程中,可能需要调整学习率、优化器类型等超参数,以获得更好的性能。
-
评估和验证:在 Fine-tuning 完成后,需要对模型在验证集或测试集上进行评估,以确保模型在新任务上的性能符合预期。
Fine-tuning 的应用场景:
- 文本分类:将预训练的语言模型应用于文本分类任务,如情感分析、垃圾邮件识别等。
- 机器翻译:在已有的机器翻译模型上微调,以适应特定领域或语种的翻译需求。
- 目标检测:在已有的目标检测模型上微调,以适应特定类别或场景的目标检测任务。
注意事项:
- Fine-tuning 需要注意过拟合问题,可以通过合适的正则化手段和数据增强来缓解。
- 在 Fine-tuning 过程中,要注意选择合适的学习率和迭代次数,以避免训练过程中出现梯度爆炸或消失的问题。
希望以上信息能帮助您更好地理解 Fine-tuning 的原理和应用。如果有任何问题或需要进一步解释,请随时告诉我!
当进行模型微调时,通常会遵循以下步骤和技巧:
步骤:
-
选择合适的预训练模型:根据任务需求选择一个在大规模数据上预训练过的模型,例如BERT、GPT等。这些模型已经学习到了丰富的语言表示,可以作为微调的基础。
-
准备新数据集:准备包含大量样本的新数据集,并确保数据集的质量和标注准确性。新数据集应该与原始训练数据有一定的差异,以便模型能够学习到新的特征和模式。
-
冻结模型参数:在开始微调之前,通常会冻结模型的大部分参数,以防止在初始阶段过度拟合。一般来说,只有顶部几层或者输出层会被解冻用于微调。
-
定义新任务:根据实际任务需求,设计新的输出层和损失函数。例如,对于文本分类任务,需要添加一个全连接层作为输出层,并选择适当的损失函数来进行微调。
-
微调模型:在新数据集上进行训练,通过反向传播算法更新模型参数。可以逐步解冻更多的网络层,以便模型能够适应新任务的要求。
-
超参数调优:微调过程中,需要根据实际情况选择合适的学习率、优化器类型和正则化方法等超参数,以提高模型性能。
-
评估和验证:在微调完成后,需要对模型在验证集或测试集上进行评估,以验证模型在新任务上的性能。
技巧:
-
避免过拟合:在微调过程中,要注意合理使用正则化技术和数据增强方法,以避免模型在新数据集上的过拟合问题。
-
选择合适的学习率:微调过程中,学习率的选择非常重要。可以使用学习率调度器或者进行学习率搜索来找到最佳的学习率。
-
监控模型性能:及时监控模型在验证集上的性能,并根据实际情况调整微调策略和超参数设置。
希望以上信息能帮助您更好地理解模型微调的步骤和技巧。如果您对某个具体方面有更深入的疑问,也欢迎随时向我提出!
当进行模型微调时,还有一些额外的注意事项和技巧可以帮助您获得更好的结果:
注意事项:
-
数据标签的质量:确保新数据集的标签质量高,标签错误会对模型微调产生不良影响。
-
控制模型复杂度:避免在微调过程中引入过多的参数或层,以防止模型过度拟合。
-
监控训练过程:及时监控训练过程中的损失值和性能指标变化,以便及时调整训练策略。
-
合理选择迭代次数:避免训练次数过多或过少,可以通过验证集上的性能来确定合适的停止训练条件。
技巧:
-
迁移学习:考虑使用迁移学习的思想,在不同任务之间共享部分模型参数,以加速微调过程并提高性能。
-
特征提取:除了微调顶部层外,还可以考虑从预训练模型中提取中间层特征作为输入,从而提高模型性能。
-
领域自适应:针对不同领域的数据,可以采用领域自适应的方法对模型进行微调,以提高泛化能力。
-
模型集成:考虑将多个微调后的模型进行集成,以获得更好的性能表现。
当进行 Fine-tuning 时,一个常见的示例是在自然语言处理领域中使用预训练的语言模型(如BERT)进行文本分类任务的微调。以下是一个简单的 Fine-tuning 示例:
Fine-tuning 示例:文本分类任务
步骤:
-
准备数据集:准备一个包含文本和对应标签的数据集,例如 IMDB 电影评论数据集,其中包含正面和负面评论。
-
加载预训练模型:首先加载一个预训练的语言模型,比如 Hugging Face 提供的 Transformers 库中的 BERT 模型。
-
准备模型架构:根据文本分类任务的需求,在预训练模型的基础上添加一个全连接层作为分类器,并选择合适的损失函数(如交叉熵损失)。
-
微调模型:在加载数据集后,通过反向传播算法更新模型参数,可以逐步解冻部分网络层,以便模型适应新任务。
-
评估模型:在微调完成后,使用测试集评估模型在文本分类任务上的性能,可以查看准确率、精确率、召回率等指标。
代码示例(使用 Python 和 Transformers 库):
from transformers import BertTokenizer, BertForSequenceClassification, AdamW
import torch
# 加载预训练的BERT模型和tokenizer
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=2)
# 准备数据集(假设已经加载数据集并进行处理)
train_texts = [...] # 训练文本
train_labels = [...] # 训练标签
# 将文本转换为输入张量
inputs = tokenizer(train_texts, return_tensors='pt', padding=True, truncation=True)
labels = torch.tensor(train_labels)
# 定义优化器和损失函数
optimizer = AdamW(model.parameters(), lr=5e-5)
loss_fn = torch.nn.CrossEntropyLoss()
# 微调模型
model.train()
for epoch in range(num_epochs):
optimizer.zero_grad()
outputs = model(**inputs, labels=labels)
loss = outputs.loss
loss.backward()
optimizer.step()
# 评估模型
model.eval()
test_texts = [...] # 测试文本
test_labels = [...] # 测试标签
test_inputs = tokenizer(test_texts, return_tensors='pt', padding=True, truncation=True)
test_labels = torch.tensor(test_labels)
with torch.no_grad():
outputs = model(**test_inputs)
logits = outputs.logits
# 计算准确率等指标
predictions = torch.argmax(logits, dim=1)
accuracy = (predictions == test_labels).float().mean().item()
以上示例演示了如何使用BERT模型进行文本分类任务的微调,其中包括加载预训练模型、准备数据集、定义模型架构、微调模型和评估模型等步骤。您可以根据实际情况对代码进行修改和扩展,以适应不同的任务和数据集。希望这个示例能够帮助您更好地理解 Fine-tuning 的过程!如果您有任何问题或需要进一步解释,请随时告诉我。
当进行 Fine-tuning 时,一个常见的示例是在计算机视觉领域中使用预训练的卷积神经网络(如ResNet、VGG等)进行图像分类任务的微调。以下是一个简单的 Fine-tuning 示例:
Fine-tuning 示例:图像分类任务
步骤:
-
准备数据集:准备一个包含图像和对应标签的数据集,例如 CIFAR-10 数据集,其中包含10个不同类别的图像。
-
加载预训练模型:首先加载一个预训练的卷积神经网络模型,比如 PyTorch 提供的 torchvision 库中的 ResNet 模型。
-
准备模型架构:根据图像分类任务的需求,在预训练模型的基础上修改最后一层全连接层以适应新的类别数量,并选择合适的损失函数(如交叉熵损失)。
-
微调模型:在加载数据集后,通过反向传播算法更新模型参数,可以逐步解冻部分网络层,以便模型适应新任务。
-
评估模型:在微调完成后,使用测试集评估模型在图像分类任务上的性能,可以查看准确率、混淆矩阵等指标。
代码示例(使用 Python 和 PyTorch):
import torch
import torchvision
import torchvision.transforms as transforms
import torch.optim as optim
import torch.nn as nn
# 加载预训练的ResNet模型
model = torchvision.models.resnet18(pretrained=True)
num_classes = 10 # 新的类别数量
model.fc = nn.Linear(model.fc.in_features, num_classes) # 修改最后一层全连接层
# 准备数据集(假设已经下载并加载CIFAR-10数据集)
transform = transforms.Compose(
[transforms.Resize(224), # 将图像大小调整为适应ResNet的输入尺寸
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
shuffle=True, num_workers=2)
# 定义优化器和损失函数
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9)
# 微调模型
model.train()
for epoch in range(num_epochs):
running_loss = 0.0
for i, data in enumerate(trainloader, 0):
inputs, labels = data
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
running_loss += loss.item()
# 评估模型
model.eval()
testset = torchvision.datasets.CIFAR10(root='./data', train=False,
download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,
shuffle=False, num_workers=2)
correct = 0
total = 0
with torch.no_grad():
for data in testloader:
images, labels = data
outputs = model(images)
_, predicted = torch.max(outputs, 1)
total += labels.size(0)
correct += (predicted == labels).sum().item()
accuracy = 100 * correct / total
以上示例演示了如何使用预训练的ResNet模型进行图像分类任务的微调,其中包括加载预训练模型、准备数据集、定义模型架构、微调模型和评估模型等步骤。您可以根据实际情况对代码进行修改和扩展,以适应不同的任务和数据集。希望这个示例能够帮助您更好地理解 Fine-tuning 的过程!
当进行 Fine-tuning 时,另一个常见的示例是在声音识别领域中使用预训练的语音识别模型(如DeepSpeech、Wav2Vec等)进行语音识别任务的微调。以下是一个简单的 Fine-tuning 示例:
Fine-tuning 示例:语音识别任务
步骤:
-
准备数据集:准备一个包含音频文件和对应文本标签的数据集,例如 CommonVoice 数据集,其中包含多种语言的语音样本。
-
加载预训练模型:首先加载一个预训练的语音识别模型,比如 Hugging Face 提供的 Transformers 库中的 Wav2Vec 模型。
-
准备模型架构:根据语音识别任务的需求,在预训练模型的基础上添加一个适合新任务的全连接层,并选择合适的损失函数(如CTC 损失)。
-
准备数据:将音频文件转换为模型可接受的格式,通常是提取特征或进行傅立叶变换,然后转换为张量输入。
-
微调模型:在加载数据集后,通过反向传播算法更新模型参数,可以逐步解冻部分网络层,以便模型适应新任务。
-
评估模型:在微调完成后,使用测试集评估模型在语音识别任务上的性能,可以查看识别准确率等指标。
代码示例(使用 Python 和 Transformers 库):
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
import torchaudio
import torch
import numpy as np
# 加载预训练的Wav2Vec模型和processor
processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-base-960h")
model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-base-960h")
# 准备数据集(假设已经加载音频文件并进行处理)
audio_file = "path_to_audio_file.wav"
text_label = "transcription_of_audio"
# 将音频文件转换为模型可接受的输入格式
speech, _ = torchaudio.load(audio_file)
input_values = processor(speech, return_tensors="pt", padding=True).input_values
# 将文本标签转换为张量格式
labels = processor(text_label, return_tensors="pt").input_ids
# 定义优化器和损失函数
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-4)
loss_fn = torch.nn.CTCLoss()
# 微调模型
model.train()
for epoch in range(num_epochs):
optimizer.zero_grad()
logits = model(input_values).logits
loss = loss_fn(logits, labels, input_values, labels)
loss.backward()
optimizer.step()
# 评估模型
model.eval()
test_audio_file = "path_to_test_audio_file.wav"
test_text_label = "transcription_of_test_audio"
test_speech, _ = torchaudio.load(test_audio_file)
test_input_values = processor(test_speech, return_tensors="pt", padding=True).input_values
test_labels = processor(test_text_label, return_tensors="pt").input_ids
with torch.no_grad():
test_logits = model(test_input_values).logits
# 计算识别准确率等指标
predicted_ids = torch.argmax(test_logits, dim=-1)
predicted_text = processor.batch_decode(predicted_ids)
accuracy = np.mean([pred == test_text_label for pred in predicted_text])
以上示例演示了如何使用Wav2Vec2模型进行语音识别任务的微调,其中包括加载预训练模型、准备数据集、定义模型架构、微调模型和评估模型等步骤。您可以根据实际情况对代码进行修改和扩展,以适应不同的任务和数据集。希望这个示例能够帮助您更好地理解 Fine-tuning 的过程!
当进行 Fine-tuning 时,另一个常见的示例是在自然语言处理领域中使用预训练的语言模型(如BERT、GPT等)进行文本分类任务的微调。以下是一个简单的 Fine-tuning 示例:
Fine-tuning 示例:文本分类任务
步骤:
-
准备数据集:准备一个包含文本和对应类别标签的数据集,例如 IMDb 电影评论数据集,其中包含积极和消极情感的评论。
-
加载预训练模型:首先加载一个预训练的语言模型,比如 Hugging Face 提供的 Transformers 库中的 BERT 模型。
-
准备模型架构:根据文本分类任务的需求,在预训练模型的基础上添加一个适合新任务的分类器(如全连接层),并选择合适的损失函数(如交叉熵损失)。
-
准备数据:将文本数据转换为模型可接受的输入格式,通常是通过分词/tokenization 和添加特殊标记来表示句子的开始和结束。
-
微调模型:在加载数据集后,通过反向传播算法更新模型参数,可以逐步解冻部分网络层,以便模型适应新任务。
-
评估模型:在微调完成后,使用测试集评估模型在文本分类任务上的性能,可以查看准确率、精确率、召回率等指标。
代码示例(使用 Python 和 Transformers 库):
from transformers import BertTokenizer, BertForSequenceClassification, Trainer, TrainingArguments
import torch
from sklearn.model_selection import train_test_split
# 加载预训练的BERT模型和tokenizer
model = BertForSequenceClassification.from_pretrained('bert-base-uncased')
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
# 准备数据集(假设已经加载文本数据和标签)
texts = ["example text 1", "example text 2", ...]
labels = [0, 1, ...] # 标签对应类别
# 分割训练集和验证集
train_texts, val_texts, train_labels, val_labels = train_test_split(texts, labels, test_size=0.2)
# 将文本数据转换为模型可接受的格式
train_encodings = tokenizer(train_texts, truncation=True, padding=True)
val_encodings = tokenizer(val_texts, truncation=True, padding=True)
class CustomDataset(torch.utils.data.Dataset):
def __init__(self, encodings, labels):
self.encodings = encodings
self.labels = labels
def __getitem__(self, idx):
item = {key: torch.tensor(val[idx]) for key, val in self.encodings.items()}
item['labels'] = torch.tensor(self.labels[idx])
return item
def __len__(self):
return len(self.labels)
train_dataset = CustomDataset(train_encodings, train_labels)
val_dataset = CustomDataset(val_encodings, val_labels)
# 定义训练参数
training_args = TrainingArguments(
per_device_train_batch_size=4,
per_device_eval_batch_size=4,
num_train_epochs=3,
evaluation_strategy="epoch",
logging_dir='./logs',
)
# 创建Trainer对象并进行微调
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=val_dataset,
)
trainer.train()
# 评估模型
results = trainer.evaluate()
以上示例演示了如何使用BERT模型进行文本分类任务的微调,其中包括加载预训练模型、准备数据集、定义模型架构、微调模型和评估模型等步骤。您可以根据实际情况对代码进行修改和扩展,以适应不同的任务和数据集。希望这个示例能够帮助您更好地理解 Fine-tuning 的过程!
当进行 Fine-tuning 时,还有一个常见的示例是在计算机视觉领域中使用预训练的卷积神经网络(CNN)进行图像分类任务的微调。以下是一个简单的 Fine-tuning 示例:
Fine-tuning 示例:图像分类任务
步骤:
-
准备数据集:准备一个包含图像和对应类别标签的数据集,例如 CIFAR-10 数据集,其中包含 10 类不同类型的图像。
-
加载预训练模型:首先加载一个预训练的卷积神经网络模型,比如 PyTorch 提供的 torchvision 库中的 ResNet 模型。
-
准备模型架构:根据图像分类任务的需求,在预训练模型的基础上修改输出层以适应新任务的类别数,并选择合适的损失函数(如交叉熵损失)。
-
准备数据:将图像数据转换为模型可接受的输入格式,通常是进行预处理(缩放、裁剪)并将图像转换为张量格式。
-
微调模型:在加载数据集后,通过反向传播算法更新模型参数,可以选择冻结部分网络层或采用不同的学习率来微调模型。
-
评估模型:在微调完成后,使用测试集评估模型在图像分类任务上的性能,可以查看准确率、混淆矩阵等指标。
代码示例(使用 Python 和 PyTorch):
import torch
import torchvision
from torchvision import transforms, datasets
import torch.nn as nn
import torch.optim as optim
# 加载预训练的ResNet模型
model = torchvision.models.resnet18(pretrained=True)
num_classes = 10 # 新的类别数
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, num_classes)
# 准备数据集(假设已经加载图像数据并进行处理)
data_transforms = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
])
train_data = datasets.CIFAR10(root='./data', train=True, download=True, transform=data_transforms)
test_data = datasets.CIFAR10(root='./data', train=False, download=True, transform=data_transforms)
# 定义优化器和损失函数
optimizer = optim.Adam(model.parameters(), lr=0.001)
criterion = nn.CrossEntropyLoss()
# 创建数据加载器
train_loader = torch.utils.data.DataLoader(train_data, batch_size=4, shuffle=True)
test_loader = torch.utils.data.DataLoader(test_data, batch_size=4, shuffle=False)
# 微调模型
model.train()
for epoch in range(5): # 假设进行5个epoch的微调
running_loss = 0.0
for i, data in enumerate(train_loader, 0):
inputs, labels = data
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
running_loss += loss
[Something went wrong, please try again later.]
当进行 Fine-tuning 时,还有一个常见的示例是在计算机视觉领域中使用预训练的图像分类模型(如ResNet、EfficientNet等)进行迁移学习和微调。以下是一个简单的 Fine-tuning 示例:
Fine-tuning 示例:图像分类任务
步骤:
-
准备数据集:准备一个包含图像数据和对应类别标签的数据集,例如 CIFAR-10 数据集,其中包含不同类别的图像。
-
加载预训练模型:加载一个预训练的图像分类模型,比如 PyTorch 提供的 torchvision 库中的 ResNet 模型。
-
准备模型架构:根据图像分类任务的需求,在预训练模型的基础上修改输出层,以匹配新任务的类别数量,并选择合适的损失函数(如交叉熵损失)。
-
准备数据:将图像数据进行预处理和增强操作,如缩放、裁剪、归一化等,以便模型接受。
-
微调模型:在加载数据集后,通过反向传播算法更新模型参数,可以逐步解冻部分网络层,以便模型适应新任务。
-
评估模型:在微调完成后,使用测试集评估模型在图像分类任务上的性能,可以查看准确率、混淆矩阵等指标。
代码示例(使用 Python 和 PyTorch):
import torch
import torchvision
from torchvision import models, transforms, datasets
import torch.nn as nn
import torch.optim as optim
# 加载预训练的ResNet模型
model = models.resnet18(pretrained=True)
num_classes = 10 # 假设有10个类别
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, num_classes)
# 准备数据集(假设已经下载并加载了CIFAR-10数据集)
transform = transforms.Compose([
transforms.Resize(224),
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])
train_dataset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
test_dataset = datasets.CIFAR10(root='./data', train=False, download=True, transform=transform)
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=32, shuffle=False)
# 定义优化器和损失函数
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9)
# 微调模型
model.train()
for epoch in range(5): # 假设进行5个epoch的微调
for inputs, labels in train_loader:
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
# 评估模型
model.eval()
correct = 0
total = 0
with torch.no_grad():
for inputs, labels in test_loader:
outputs = model(inputs)
_, predicted = torch.max(outputs, 1)
total += labels.size(0)
correct += (predicted == labels).sum().item()
accuracy = correct / total
以上示例演示了如何使用ResNet模型进行图像分类任务的微调,其中包括加载预训练模型、准备数据集、定义模型架构、微调模型和评估模型等步骤。您可以根据实际情况对代码进行修改和扩展,以适应不同的任务和数据集。希望这个示例能够帮助您更好地理解 Fine-tuning 的过程!
零基础如何学习大模型 AI
领取方式在文末
为什么要学习大模型?
学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。
大模型典型应用场景
①AI+教育:智能教学助手和自动评分系统使个性化教育成为可能。通过AI分析学生的学习数据,提供量身定制的学习方案,提高学习效果。
②AI+医疗:智能诊断系统和个性化医疗方案让医疗服务更加精准高效。AI可以分析医学影像,辅助医生进行早期诊断,同时根据患者数据制定个性化治疗方案。
③AI+金融:智能投顾和风险管理系统帮助投资者做出更明智的决策,并实时监控金融市场,识别潜在风险。
④AI+制造:智能制造和自动化工厂提高了生产效率和质量。通过AI技术,工厂可以实现设备预测性维护,减少停机时间。
⑤AI+零售:智能推荐系统和库存管理优化了用户体验和运营成本。AI可以分析用户行为,提供个性化商品推荐,同时优化库存,减少浪费。
⑥AI+交通:自动驾驶和智能交通管理提升了交通安全和效率。AI技术可以实现车辆自动驾驶,并优化交通信号控制,减少拥堵。
…
这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。
学习资料领取
如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
部分资料展示
一、 AI大模型学习路线图
整个学习分为7个阶段
二、AI大模型实战案例
涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
三、视频和书籍PDF合集
从入门到进阶这里都有,跟着老师学习事半功倍。
四、LLM面试题
如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新AI大模型资源包,这里全都有!无偿分享!!!
😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~