机器学习第三部分:Transformer与大语言模型
1. 模型结构可视化与检查
在处理大型数据集和模型时,训练过程可能会非常漫长。因此,像模型结构可视化这样的健全性检查就显得尤为重要。如果模型结构不符合预期,那么在训练一个错误的模型上会浪费大量时间。
2. 定义损失函数和指标
对于这个二元分类问题(只有正、负两种结果),我们使用交叉熵函数作为损失函数,具体使用 losses.BinaryCrossEntropy :
loss = tf.keras.losses.BinaryCrossEntropy(from_logits=True)
metrics = tf.metrics.BinaryAccuracy()
对于具有多个可能结果的分类应用,如意图识别问题(需要从10种意图中为输入分配一种),则会使用分类交叉熵。
3. 定义优化器和训练轮数
我们使用流行的Adam优化器,并以非常小的学习率(3e - 5)开始,这是BERT推荐的学习率。优化器会在训练过程中动态调整学习率:
epochs = 15
steps_per_epoch = tf.data.experimental.cardinality(train_ds).numpy()
print(steps_per_epoch)
num_train_steps = steps_per_epoch * epochs
# 前10%的线性预热阶段
num_warm
Transformer与大语言模型的实战应用
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



