🚀 开源澳大利亚法律大语言模型⚖️
开源澳大利亚法律大语言模型是基于澳大利亚法律训练的最大的开源语言模型。该模型拥有超15亿参数,训练数据丰富优质,涵盖来自澳大利亚开放法律语料库的约70,000条澳大利亚六个司法管辖区的法律、法规和判决,非常适合在澳大利亚法律领域的各种下游自然语言处理任务(包括文本生成、文本补全和问答)上进行微调。为确保尽可能多的人能够使用该模型,它采用Apache许可证2.0发布。
🚀 快速开始
✨ 主要特性
- 基于澳大利亚法律训练,适用于澳大利亚法律领域的自然语言处理任务。
- 超15亿参数,训练数据丰富优质。
- 采用Apache许可证2.0发布,易于访问和使用。
📦 安装指南
文档未提及安装步骤,此处跳过。
💻 使用示例
基础用法
>>> from transformers import pipeline, set_seed
>>> set_seed(42)
>>> generator = pipeline('text-generation', model='umarbutler/open-australian-legal-llm')
>>> response = generator('Section 51 of the Constitution provides', max_length=55)
>>> print(response[0]['generated_text'])
📚 详细文档
模型信息
属性 |
详情 |
模型类型 |
基于GPT2-XL的文本生成模型 |
训练数据 |
umarbutler/open-australian-legal-corpus |
评估指标
任务 |
数据集 |
指标 |
值 |
文本生成 |
umarbutler/open-australian-legal-qa(训练集) |
困惑度 |
8.015031389864035 |
🔧 技术细节
数据预处理
对澳大利亚开放法律语料库4.2.0版本中的218,340条法律、法规和判决进行了以下清理操作:
- 将不间断空格替换为常规空格。
- 将回车换行符替换为换行符。
- 移除全为空白字符的行。
- 移除文本末尾的换行符和空白字符。
- 移除文本开头的换行符和空白字符。
- 移除行末尾的空格和制表符。
清理后,移除了少于128个字符的文本和具有重复XXH3 128位哈希值的文本,剩余218,207个文档。使用这些文档预训练了一个类似GPT2的分词器,然后将它们分割成512个标记长的块,使用分词器的序列结束标记 ('<|endoftext|>') 作为分隔符,并填充最后一个块的末尾。对用作填充的序列结束标记应用了注意力掩码,但第一个这样的标记除外。将得到的块随机打乱,分割成包含1,966,867个块的训练数据集和包含218,541个块的验证数据集。
模型训练
- 基础模型:使用GPT2-XL作为基础模型。保留了在语料库上训练的词汇表和GPT2词汇表中共享的标记的输入嵌入,但将它们移动到新的位置。将唯一标记的嵌入设置为平均嵌入权重。
- 超参数设置:
-
前100,290步:
| 超参数 | 值 |
| --- | --- |
| 序列长度 | 512 |
| 轮数 | 1 |
| 优化器 | AdamW |
| 学习率 | 1e-4 |
| 学习率调度器 | 带热身的线性调度器 |
| 批次大小 | 6 |
| 权重衰减 | 0.01 |
| 热身比例 | 0.06 |
-
后续训练:在两个RTX A6000上训练约120,050步(91小时)后,托管模型的vast.ai实例崩溃。幸运的是,在第100,290步(约一个轮次的60%)保存了一个检查点,但优化器的状态未正确下载。随后将模型转移到一个新实例,在L40上继续训练133,711步(约一个轮次的40%),超参数如下(变化部分加粗显示):
| 超参数 | 值 |
| --- | --- |
| 序列长度 | 512 |
| 轮数 | 1 |
| 优化器 | AdamW |
| 学习率 | 4.255e-5 |
| 学习率调度器 | 线性调度器 |
| 批次大小 | 3 |
| 权重衰减 | 0.01 |
| 热身比例 | 0.00 |
完成一个轮次的训练后,模型的验证损失达到2.04。
📊 基准测试
在澳大利亚开放法律问答数据集2.0.0版本上进行测试,该模型的困惑度为8.01,优于所有已知的澳大利亚法律语言模型。
🚧 局限性
- 虽然未对模型进行偏差测试,但预计它会表现出与GPT2-XL类似(甚至全部)的偏差。
- 模型可能会对法律、法规和判决中使用的语言类型以及联邦和新南威尔士州法律存在偏差(在模型创建时,这是澳大利亚开放法律语料库中最大的文档来源)。
- 由于许可限制,训练数据中未包含维多利亚州、北领地和澳大利亚首都领地的法律,因此模型可能缺乏对这些地区法律的了解。
📄 许可证
为确保尽可能多的人能够使用该模型,它采用Apache许可证2.0发布。
🔖 引用
如果您在工作中使用了该模型,请引用:
@misc{butler-2023-open-australian-legal-llm,
author = {Butler, Umar},
year = {2023},
title = {Open Australian Legal LLM},
publisher = {Hugging Face},
version = {1.0.0},
url = {https://huggingface.co/datasets/umarbutler/open-australian-legal-llm}
}
🙏 致谢
本着和解的精神,作者向澳大利亚各地的传统土地守护者及其与土地、海洋和社区的联系表示敬意。他向过去和现在的长者表示敬意,并将这种敬意延伸到今天所有的澳大利亚原住民和托雷斯海峡岛民。
作者感谢澳大利亚开放法律语料库的数据源以开放许可证的形式提供数据。
作者还感谢在模型训练中使用的许多Python库的开发者,以及GPT2的开发者,该模型是基于GPT2构建的。
最后,作者永远感激他的妻子给予的无尽支持,以及她愿意忍受许多个深夜编写代码和修复错误的时光。