Marin 项目启动与配置教程

Marin 项目启动与配置教程

marin marin 项目地址: https://gitcode.com/gh_mirrors/ma/marin

1. 项目的目录结构及介绍

Marin 是一个开源框架,用于研究和开发基础模型。以下是项目的目录结构及其简要介绍:

marin/
├── .github/              # GitHub 特定的配置文件
├── data_browser/         # 数据浏览器相关的文件
├── docker/               # Docker 配置文件和镜像
├── docs/                 # 项目文档
├── experiments/          # 实验定义和训练脚本
├── infra/                # 基础设施配置
├── marin/                # Marin 核心代码
├── operations/           # 运维脚本和配置
├── scripts/              # 附加脚本
├── tests/                # 测试代码
├── .dockerignore         # Docker 忽略文件
├── .gitignore            # Git 忽略文件
├── .pre-commit-config.yaml # pre-commit 配置文件
├── .readthedocs.yaml      # ReadTheDocs 配置文件
├── CONTRIBUTING.md        # 贡献指南
├── LICENSE               # 许可证文件
├── Makefile              # Makefile 文件
├── README.md             # 项目自述文件
├── mkdocs.yml            # MkDocs 配置文件
└── pyproject.toml        # Python 项目配置文件
  • .github/: 包含 GitHub 使用的配置文件,如工作流等。
  • data_browser/: 数据浏览器的代码,用于可视化数据。
  • docker/: 包含 Dockerfile 和其他 Docker 相关文件。
  • docs/: 项目文档的源文件。
  • experiments/: 包含各种实验的配置和脚本。
  • infra/: 基础设施配置,如云服务的配置文件。
  • marin/: Marin 的核心代码库。
  • operations/: 运维相关的脚本和配置文件。
  • scripts/: 项目的辅助脚本。
  • tests/: 用于测试代码的文件。

2. 项目的启动文件介绍

项目的启动通常涉及 experiments/ 目录下的 Python 脚本。以下是一个简单的启动文件示例:

from experiments.defaults import default_tokenize, default_train
from experiments.llama import llama3_tokenizer, llama_nano
from experiments.simple_train_config import SimpleTrainConfig
from marin.execution.executor import executor_main
from marin.resources import CpuOnlyConfig

# 选择数据集
tinystories_hf_id = "roneneldan/TinyStories"

# 数据集分词
tinystories_tokenized = default_tokenize(
    name=tinystories_hf_id,
    dataset=tinystories_hf_id,
    tokenizer=llama3_tokenizer,
)

# 定义训练配置
nano_train_config = SimpleTrainConfig(
    resources=CpuOnlyConfig(num_cpus=1),
    train_batch_size=4,
    num_train_steps=100,
    learning_rate=6e-4,
    weight_decay=0.1,
    max_eval_batches=4,
    use_default_validation=False,
)

# 训练模型
nano_tinystories_model = default_train(
    name="marin-nano-tinystories",
    tokenized=tinystories_tokenized,
    model_config=llama_nano,
    train_config=nano_train_config,
    tags=["llama", "nano", "tinystories", "tutorial"],
    eval_harness_tasks=[],
)

if __name__ == "__main__":
    executor_main(steps=[nano_tinystories_model])

这段代码定义了一个简单的训练流程,包括数据集的分词和模型的训练。

3. 项目的配置文件介绍

项目的配置文件主要包括 pyproject.tomlMakefile

  • pyproject.toml: Python 项目配置文件,定义了项目的依赖和元数据。例如:
[tool.poetry]
name = "Marin"
version = "0.1.0"
description = "An open-source framework for research and development of foundation models."
authors = ["Marin Community"]

[tool.poetry.dependencies]
python = "^3.8"

[tool.poetry.dev-dependencies]
pytest = "^6.2"
  • Makefile: 用于定义构建和运行项目的一系列任务。例如:
build:
	python setup.py build

install:
	python setup.py install

test:
	pytest

这些配置文件提供了项目的基本设置和依赖管理,对于项目的启动和运行至关重要。

marin marin 项目地址: https://gitcode.com/gh_mirrors/ma/marin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田轲浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值