小白学大模型:从零实现 LLM语言模型

大型语言模型(LLM)理论简介 大语言模型(LLM,Large Language Model),也称大型语言模型,是一种旨在理解和生成人类语言的人工智能模型。LLM 通常指包含数百亿(或更多)参数的语言模型,它们在海量的文本数据上进行训练,从而获得对语言深层次的理解。目前,国外的知名 LLM 有 GPT-3.5、GPT-4、PaLM、Claude 和 LLaMA 等,国内的有文心一言、讯飞星火、通义千问、ChatGLM、百川等。为了探索性能的极限,许多研究人员开始训练越来越庞大的语言模型,例如拥有1750 亿参数的GPT-3和。 阅读详情

在当今人工智能领域,大型语言模型(LLM)的开发已经成为一个热门话题。这些模型通过学习大量的文本数据,能够生成自然语言文本,完成各种复杂的任务,如写作、翻译、问答等。

https://github.com/FareedKhan-dev/train-llm-from-scratch

本文将为你提供一个简单直接的方法,从下载数据到生成文本,带你一步步构建大院模型。


步骤1:GPU设备

在开始训练语言模型之前,你需要对面向对象编程(OOP)、神经网络(NN)和 PyTorch 有基本的了解。

训练语言模型需要强大的计算资源,尤其是 GPU。不同的 GPU 在内存容量和计算能力上有所不同,适合不同规模的模型训练。以下是一个详细的 GPU 对比表,帮助你选择合适的硬件。

13M LLM 训练

  • 参数规模:1300 万参数。
  • 应用场景:适合初学者和小型项目,例如简单的文本生成、情感分析或语言理解任务。
  • 硬件需求:相对较低。大多数中高端 GPU(如 NVIDIA RTX 3060 或更高)都可以胜任。
  • 特点:训练速度快,资源消耗低,适合快速迭代和实验。

2B LLM 训练

  • 参数规模:20 亿参数。
  • 应用场景:适合更复杂的任务,如高质量的文本生成、多语言翻译或更高级的语言理解任务。
  • 硬件需求:较高。需要至少 16GB 内存的 GPU,如 NVIDIA RTX 3090 或更高配置。
  • 特点:能够生成更流畅、更自然的文本,但训练时间长,资源消耗大。

步骤2:导入环境

在开始之前,我们需要导入一些必要的 Python 库。这些库将帮助我们处理数据、构建模型以及训练模型。

# PyTorch for deep learning functions and tensorsimport torchimport torch.nn as nnimport torch.nn.functional as F# Numerical operations and arrays handlingimport numpy as np# Handling HDF5 filesimport h5py# Operating system and file managementimport os# Command-line argument parsingimport argparse# HTTP requests and interactionsimport requests# Progress bar for loopsfrom tqdm import tqdm# JSON handlingimport json# Zstandard compression libraryimport zstandard as zstd# Tokenization library for large language modelsimport tiktoken# Math operations (used for advanced math functions)import math

步骤3:加载数据集

The Pile 数据集是一个大规模、多样化的开源数据集,专为语言模型训练设计。它由 22 个子数据集组成,涵盖了书籍、文章、维基百科、代码、新闻等多种类型的文本。

# Download validation dataset!wget https://huggingface.co/datasets/monology/pile-uncopyrighted/resolve/main/val.jsonl.zst# Download the first part of the training dataset!wget https://huggingface.co/datasets/monology/pile-uncopyrighted/resolve/main/train/00.jsonl.zst# Download the second part of the training dataset!wget https://huggingface.co/datasets/monology/pile-uncopyrighted/resolve/main/train/01.jsonl.zst# Download the third part of the training dataset!wget https://huggingface.co/datasets/monology/pile-uncopyrighted/resolve/main/train/02.jsonl.zst

最终处理好的数据集格式如下:

#### OUTPUT ####Line: 0 {"text": "Effect of sleep quality ... epilepsy.","meta": {    "pile_set_name": "PubMed Abstracts"  }}Line: 1{"text": "LLMops a new GitHub Repository ...","meta": {    "pile_set_name": "Github"  }}

步骤4:Transformer 架构

Transformer 通过将文本分解成更小的单元,称为“标记”(token),并预测序列中的下一个标记来工作。Transformer 由多个层组成,这些层被称为 Transformer 块,它们一层叠一层,最后通过一个最终层来进行预测。

每个 Transformer 块包含两个主要组件:

  1. 自注意力头(Self-Attention Heads)

自注意力头的作用是确定输入中哪些部分对模型来说最为重要。例如,在处理一个句子时,自注意力头可以突出显示单词之间的关系,比如代词与其所指代的名词之间的关系。通过这种方式,模型能够更好地理解句子的结构和语义。

  1. 多层感知器(MLP,Multi-Layer Perceptron)

多层感知器是一个简单的前馈神经网络。它接收自注意力头强调的信息,并进一步处理这些信息。MLP 包含:

  • 输入层:接收来自自注意力头的数据。
  • 隐藏层:为处理过程增加复杂性。
  • 输出层:将处理结果传递给下一个 Transformer 块。
  1. 输入嵌入与位置编码 :输入的文本被分解为标记(tokens),然后转换为嵌入向量(embeddings)。同时,加入位置编码(position embeddings)以提供标记的位置信息。
  2. Transformer 块堆叠 :模型由多个(例如 64 个)相同的 Transformer 块组成,这些块依次对数据进行处理。
  3. 多头注意力机制 :每个 Transformer 块首先通过多头注意力机制(例如 16 个头)分析标记之间的关系,捕捉不同类型的关联。
  4. MLP 处理 :注意力机制处理后的数据通过一个 MLP(多层感知器)进行进一步处理,先扩展到更大维度(例如 4 倍),再压缩回原始维度。
  5. 残差连接与层归一化 :每个 Transformer 块中使用残差连接(residual connections)和层归一化(layer normalization),以帮助信息流动并稳定训练。
  6. 最终预测 :理后的数据通过最终层,转换为词汇表大小的预测结果,生成下一个最有可能的标记。
  7. 文本生成 :模型通过反复预测下一个标记,逐步生成完整的文本序列。

步骤5:多层感知器(MLP)

多层感知器(MLP)是 Transformer 架构中前馈神经网络(Feed-Forward Network, FFN)的核心组成部分。它的主要作用是引入非线性特性,并学习嵌入表示中的复杂关系。在定义 MLP 模块时,一个重要的参数是 n_embed,它定义了输入嵌入的维度。

MLP 的整个序列转换过程使得它能够对注意力机制学习到的表示进行进一步的精细化处理。具体来说:

  • 引入非线性:通过 ReLU 激活函数,MLP 能够捕捉到嵌入表示中的复杂非线性关系。
  • 特征增强:隐藏层的扩展操作为模型提供了更大的空间来学习更丰富的特征。
  • 维度一致性:投影线性层确保 MLP 的输出维度与输入维度一致,便于后续的 Transformer 块继续处理。
# --- MLP (Multi-Layer Perceptron) Class ---class MLP(nn.Module):    """    A simple Multi-Layer Perceptron with one hidden layer.    This module is used within the Transformer block for feed-forward processing.    It expands the input embedding size, applies a ReLU activation, and then projects it back    to the original embedding size.    """    def __init__(self, n_embed):        super().__init__()        self.hidden = nn.Linear(n_embed, 4 * n_embed)  # Linear layer to expand embedding size        self.relu = nn.ReLU()                        # ReLU activation function        self.proj = nn.Linear(4 * n_embed, n_embed)  # Linear layer to project back to original size    def forward(self, x):        """        Forward pass through the MLP.        Args:            x (torch.Tensor): Input tensor of shape (B, T, C), where B is batch size,                              T is sequence length, and C is embedding size.        Returns:            torch.Tensor: Output tensor of the same shape as the input.        """        x = self.forward_embedding(x)        x = self.project_embedding(x)        return x    def forward_embedding(self, x):        """        Applies the hidden linear layer followed by ReLU activation.        Args:            x (torch.Tensor): Input tensor.        Returns:            torch.Tensor: Output after the hidden layer and ReLU.        """        x = self.relu(self.hidden(x))        return x    def project_embedding(self, x):        """        Applies the projection linear layer.        Args:            x (torch.Tensor): Input tensor.        Returns:            torch.Tensor: Output after the projection layer.        """        x = self.proj(x)        return x

步骤6:Single Head Attention

注意力头(Attention Head)是 Transformer 模型的核心部分,其主要作用是让模型能够专注于输入序列中与当前任务最相关的部分。在定义注意力头模块时,有几个重要的参数:

  • head_size :决定了键(key)、查询(query)和值(value)投影的维度,从而影响注意力机制的表达能力。
  • n_embed :输入嵌入的维度,定义了这些投影层的输入大小。
  • context_length :用于创建因果掩码(causal mask),确保模型只能关注前面的标记,从而实现自回归(autoregressive)特性。

在注意力头内部,我们初始化了三个无偏置的线性层(nn.Linear),分别用于键、查询和值的投影。此外,我们注册了一个大小为 context_length x context_length 的下三角矩阵(tril)作为缓冲区(buffer),以实现因果掩码,防止注意力机制关注未来的标记。

# --- Attention Head Class ---class Head(nn.Module):    def __init__(self, head_size, n_embed, context_length):        super().__init__()        self.key = nn.Linear(n_embed, head_size, bias=False)   # Key projection        self.query = nn.Linear(n_embed, head_size, bias=False) # Query projection        self.value = nn.Linear(n_embed, head_size, bias=False) # Value projection        # Lower triangular matrix for causal masking        self.register_buffer('tril', torch.tril(torch.ones(context_length, context_length)))    def forward(self, x):        B, T, C = x.shape        k = self.key(x)     # (B, T, head_size)        q = self.query(x)   # (B, T, head_size)        scale_factor = 1 / math.sqrt(C)        # Calculate attention weights: (B, T, head_size) @ (B, head_size, T) -> (B, T, T)        attn_weights = q @ k.transpose(-2, -1) * scale_factor        # Apply causal masking        attn_weights = attn_weights.masked_fill(self.tril[:T, :T] == 0, float('-inf'))        attn_weights = F.softmax(attn_weights, dim=-1)        v = self.value(x)   # (B, T, head_size)        # Apply attention weights to values        out = attn_weights @ v # (B, T, T) @ (B, T, head_size) -> (B, T, head_size)        return out

步骤7:Multi Head Attention

多头注意力(Multi-Head Attention)是 Transformer 架构中的关键机制,用于捕捉输入序列中多样化的关联关系。通过将多个独立的注意力头(attention heads)并行运行,模型能够同时关注输入的不同方面,从而更全面地理解序列信息。

  • n_head :决定了并行运行的注意力头的数量。每个注意力头独立处理输入数据,从而让模型能够从多个角度捕捉输入序列中的关系。
  • 上下文长度 context_length 定义了输入序列的长度,用于创建因果掩码(causal mask),确保模型只能关注前面的标记,从而实现自回归特性。
class MultiHeadAttention(nn.Module):    """    Multi-Head Attention module.    This module combines multiple attention heads in parallel. The outputs of each head    are concatenated to form the final output.    """    def __init__(self, n_head, n_embed, context_length):        super().__init__()        self.heads = nn.ModuleList([Head(n_embed // n_head, n_embed, context_length) for _ in range(n_head)])    def forward(self, x):        """        Forward pass through the multi-head attention.        Args:            x (torch.Tensor): Input tensor of shape (B, T, C).        Returns:            torch.Tensor: Output tensor after concatenating the outputs of all heads.        """        # Concatenate the output of each head along the last dimension (C)        x = torch.cat([h(x) for h in self.heads], dim=-1)        return x

步骤8:Transformer 块

Transformer 块是 Transformer 架构的核心单元,它通过组合多头注意力机制和前馈网络(MLP),并应用层归一化(Layer Normalization)以及残差连接(Residual Connections),来处理输入并学习复杂的模式。

  • n_head :多头注意力中并行注意力头的数量。
  • n_embed :输入嵌入的维度,也是层归一化的参数维度。
  • context_length :上下文长度,用于定义序列的长度,并创建因果掩码。

每个 Transformer 块包含以下部分:

  1. 多头注意力层(Multi-Head Attention):负责捕捉输入序列中不同位置之间的关系。
  2. 前馈网络(MLP):用于进一步处理多头注意力层的输出,引入非线性特性。
  3. 层归一化(Layer Normalization):在每个子层之前应用,有助于稳定训练。
  4. 残差连接(Residual Connections):在每个子层之后应用,帮助信息流动并缓解深层网络训练中的梯度消失问题。
class Block(nn.Module):    def __init__(self, n_head, n_embed, context_length):        super().__init__()        self.ln1 = nn.LayerNorm(n_embed)        self.attn = MultiHeadAttention(n_head, n_embed, context_length)        self.ln2 = nn.LayerNorm(n_embed)        self.mlp = MLP(n_embed)    def forward(self, x):        # Apply multi-head attention with residual connection        x = x + self.attn(self.ln1(x))        # Apply MLP with residual connection        x = x + self.mlp(self.ln2(x))        return x    def forward_embedding(self, x):        res = x + self.attn(self.ln1(x))        x = self.mlp.forward_embedding(self.ln2(res))        return x, res

步骤9:完整模型结构

到目前为止,我们已经编写了 Transformer 模型的一些小部件,如多头注意力(Multi-Head Attention)和 MLP(多层感知器)。接下来,我们需要将这些部件整合起来,构建一个完整的 Transformer 模型,用于执行序列到序列的任务。为此,我们需要定义几个关键参数:n_head、n_embed、context_length、vocab_size 和 N_BLOCKS。

# --- Transformer Model Class ---class Transformer(nn.Module):    """    The main Transformer model.    This class combines token and position embeddings with a sequence of Transformer blocks    and a final linear layer for language modeling.    """    def __init__(self, n_head, n_embed, context_length, vocab_size, N_BLOCKS):        super().__init__()        self.context_length = context_length        self.N_BLOCKS = N_BLOCKS        self.token_embed = nn.Embedding(vocab_size, n_embed)        self.position_embed = nn.Embedding(context_length, n_embed)        self.attn_blocks = nn.ModuleList([Block(n_head, n_embed, context_length) for _ in range(N_BLOCKS)])        self.layer_norm = nn.LayerNorm(n_embed)        self.lm_head = nn.Linear(n_embed, vocab_size)        self.register_buffer('pos_idxs', torch.arange(context_length))    def _pre_attn_pass(self, idx):        B, T = idx.shape        tok_embedding = self.token_embed(idx)        pos_embedding = self.position_embed(self.pos_idxs[:T])        return tok_embedding + pos_embedding    def forward(self, idx, targets=None):        x = self._pre_attn_pass(idx)        for block in self.attn_blocks:            x = block(x)        x = self.layer_norm(x)        logits = self.lm_head(x)        loss = None        if targets is not None:            B, T, C = logits.shape            flat_logits = logits.view(B * T, C)            targets = targets.view(B * T).long()            loss = F.cross_entropy(flat_logits, targets)        return logits, loss    def forward_embedding(self, idx):        x = self._pre_attn_pass(idx)        residual = x        for block in self.attn_blocks:            x, residual = block.forward_embedding(x)        return x, residual    def generate(self, idx, max_new_tokens):        for _ in range(max_new_tokens):            idx_cond = idx[:, -self.context_length:]            logits, _ = self(idx_cond)            logits = logits[:, -1, :]            probs = F.softmax(logits, dim=-1)            idx_next = torch.multinomial(probs, num_samples=1)            idx = torch.cat((idx, idx_next), dim=1)        return idx

步骤10:训练参数配置

现在我们已经完成了模型的编码工作,接下来需要定义训练参数,包括注意力头的数量、Transformer 块的数量等,以及数据路径等相关配置。

  • VOCAB_SIZE :词汇表大小,表示词汇表中唯一标记的数量。
  • CONTEXT_LENGTH :模型能够处理的最大序列长度。
  • N_EMBED :嵌入空间的维度,决定了标记嵌入和位置嵌入的大小。
  • N_HEAD :每个 Transformer 块中的注意力头数量。
  • N_BLOCKS :模型中 Transformer 块的数量,决定了模型的深度。
  • T_BATCH_SIZE :训练时每个批次的样本数量。
  • T_CONTEXT_LENGTH :训练批次的上下文长度。
  • T_TRAIN_STEPS :总训练步数。

步骤11:模型训练

我们使用 AdamW 优化器,这是一种改进版的 Adam 优化器,适用于深度学习任务。

  • 高初始损失:20 亿参数模型在训练初期的损失值通常非常高。这是因为模型的参数量巨大,初始权重随机分布,导致模型在开始时对数据的理解非常有限。
  • 剧烈波动:在训练的前几轮,损失值可能会出现剧烈波动。这是因为模型需要在庞大的参数空间中寻找合适的权重组合,而初始的学习率可能过高,导致优化过程不稳定。
  • 快速下降:尽管初始损失很高,但随着训练的进行,损失值通常会迅速下降。这是因为模型逐渐开始学习数据中的模式和结构。
  • 波动调整:在快速下降之后,损失值可能会出现一些波动。这是因为模型在调整权重时,可能会在不同的局部最优解之间徘徊。这种波动表明模型在寻找更稳定的全局最优解。

步骤12:生成文本

接下来,我们将创建一个函数 generate_text,用于从保存的模型中生成文本。该函数接受保存的模型路径和输入文本作为输入,并返回生成的文本。我们还将比较数百万参数模型和数十亿参数模型在生成文本时的表现。

def generate_text(model_path, input_text, max_length=512, device="gpu"):    # Load the model checkpoint    checkpoint = torch.load(model_path)    # Initialize the model (you should ensure that the Transformer class is defined elsewhere)    model = Transformer().to(device)    # Load the model's state dictionary    model.load_state_dict(checkpoint['model_state_dict'])    # Load the tokenizer for the GPT model (we use 'r50k_base' for GPT models)    enc = tiktoken.get_encoding('r50k_base')    # Encode the input text along with the end-of-text token    input_ids = torch.tensor(        enc.encode(input_text, allowed_special={'<|endoftext|>'}),        dtype=torch.long    )[None, :].to(device)  # Add batch dimension and move to the specified device    # Generate text with the model using the encoded input    with torch.no_grad():        # Generate up to 'max_length' tokens of text        generated_output = model.generate(input_ids, max_length)        # Decode the generated tokens back into text        generated_text = enc.decode(generated_output[0].tolist())    return generated_text

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享!

👇👇扫码免费领取全部内容👇👇

​

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI:

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析:

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

​

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

LLM(大语言模型)、Chat 大模型和 Embedding 大模型 LLM 是一种大规模的语言生成模型,通常基于 Transformer 架构,经过大量文本数据的训练,能够理解自然语言并生成高质量的文本。 阅读详情

相关推荐

基于matlab的心电信号预处理

这是前段时间做的一个课程设计,做的比较简单,没有考虑到太细,只是初步地达到了想要的效果。这次设计主要是对心电信号进行预处理,将其信号中包含的一些干扰滤除或者抑制掉。 一、心电信号 (1)心电信号的特性   人体心电信号是非常微弱的生理低频电信号,通常最大的幅值不超过5mV,信号频率在0.05~100Hz之间。心电信号是通过安装在人体皮肤表面的电极来拾取的。由于电极和皮肤组织之间会发生极化现象

i_weimoli的博客 6万+

小白学大模型:从零实现 LLM语言模型,零基础入门大模型,看这份教程就足够了

在当今人工智能领域,大型语言模型(LLM)的开发已经成为一个热门话题。这些模型通过学习大量的文本数据,能够生成自然语言文本,完成各种复杂的任务,如写作、翻译、问答等。

2301_81940605的博客 1758

保姆级教程:用U盘给浪潮服务器装系统(含RAID驱动加载技巧)

本文提供了一份详细的浪潮服务器U盘安装系统指南,重点介绍了RAID驱动加载技巧与实战步骤。从准备工作到系统安装全流程,涵盖RAID配置、驱动加载方法及常见问题排查,帮助用户高效完成服务器系统部署。特别强调RAID驱动与服务器型号的匹配性,确保安装过程顺利。

uuu88的博客 736

小白学AI大模型:从零带你实现LLM大语言模型,从下载数据到生成文本全解析

在当今人工智能领域,大型语言模型(LLM)的开发已经成为一个热门话题。这些模型通过学习大量的文本数据,能够生成自然语言文本,完成各种复杂的任务,如写作、翻译、问答等。 本文将为你提供一个简单直接的方法,从下载数据到生成文本,带你一步步构建大院模型。

2401_85375186的博客 957

Wezterm的安装和简单配置

希望 wezterm 的主题配色,保持和 powershell 默认配色一致,也就是 Compell 主题。目的是在频繁使用 wezterm 时,原本的根据颜色判断文件信息(尤其是WSL里的Linux下,文件和目录颜色)依然可以使用。wezterm 默认用 cmd.exe, 我是 win11,希望默认用 powershell。

baiyu33的博客 4269

Rstudio-server无法登陆?几种解决方法 卡死 崩溃了 卡住

Q6:Rstudio-server无法登陆?几种解决方法1 检查登陆方式是否正确 (IP/域名 端口是否弄错了)2 查看自己用户名和密码是否输入错误(大部分无法登陆的原因都是第1点和第2点)3清空浏览器cookie缓存,或者换个浏览器登陆,推荐谷歌浏览器4 如果是出现下面截图界面,试试点击Terminate R 或 Safe Mode(如果试了还不行,继续尝试后面方法5~8)5 ssh登录,然后查看自己的磁盘存储空间是否用尽(方法见Q9),如果是,先清理自己的磁盘空间。

生信小博士的博客 1万+

LLM(大语言模型)——大模型简介

ChatGPT 的巨大成功激发了越来越多的开发者兴趣,他们希望利用 OpenAI 提供的 API 或者私有化模型,来开发基于大型语言模型的应用程序。尽管大型语言模型的调用相对简单,但要创建完整的应用程序,仍然需要大量的定制开发工作,包括API集成、互动逻辑、数据存储等等。为了解决这个问题,从 2022 年开始,许多机构和个人相继推出了多个开源项目,旨在帮助开发者们快速构建基于大型语言模型的端到端应用程序或工作流程。其中一个备受关注的项目就是 LangChain 框架。

telescopewang的博客 5万+

[Godot][入门] 安装与版本选择:3.x 还是 4.x?(按项目类型一键决策)

摘要: Godot引擎版本选择需根据项目需求权衡3.x与4.x。Godot4.x(如4.2)适合3D开发和新项目,支持Vulkan和GDScript2.0,但生态尚不成熟;Godot3.x(如3.5.3)则更适合稳定2D开发、Web导出及依赖现有插件/教程的场景。安装方式极简,官网下载解压即可运行。新手建议:短期高效选3.x,长期探索选4.x,旧项目勿盲目迁移。附版本对比表及决策树,助开发者快速匹配需求。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 910

LLM大模型路线:从零到1实现大模型微调部署【附书籍】

👀2024年,大家有没有发现大语言模型越发火爆了! 😍各种大厂都在竞相发布自己的大模型,清华也出了属于他们自己的大模型 智普!(PS:用过,非常好用!)

DEVELOPERAA的博客 1081

Prism 入门02,区域介绍

什么是区域(Region)?区域,在Prism 框架中,区域是模块化的核心的功能之一,其主要作用是降低应用程序和模块之间的耦合度。使用方式:在应用程序的界面中,划分出某块区域,并为这个区域定义一个唯一的区域名称。那么通过这个区域名称,应用程序就可以找到指定的区域。并为这个区域动态放置一些容器或控件,从而呈现在界面中。

build2024 1126

基于高斯两步移动搜寻法(2SFCA)的城市绿地可达性分析

第二步,对于每一个街道i,给定空间距离阈值d0,便形成另一个空间作用域,同样对于落在空间作用域内的每块绿地l的供给比率(Rl)利用高斯方程赋以权重,然后对这些加权后的供给比率(Rl)进行加和,便得到每个街道i的绿地可达性Ai。图3与图4是高斯两步移动搜索法的示例。在图3中,以d0为阈值,有1、2、3 三个街道中心点落在了绿地a的空间作用域内。同样在图4中,以d0为阈值,有a、c两个绿地中心点落在了街道2的空间作用域内,根据公式(3),对a、c高斯方程加权后的供需比率进行累加,便得到了街道2 的绿地可达性。

2301_77310370的博客 2404

2025全网爆火!《从零构建大型语言模型》LLM大模型书籍,非常详细收藏我这一篇就够了!

自 ChatGPT 发布以来,大型语言模型(LLM)已经成为推动人工智能发展的关键技术。近期,机器学习和 AI 研究员、畅销书《Python 机器学习》作者 Sebastian Raschka 又写了一本新书 ——《Build a Large Language Model (From Scratch)》,旨在讲解从头开始构建大型语言模型的整个过程,包括如何创建、训练和调整大型语言模型。对GPT大模型感兴趣的有福了!这本书的名字叫也就是。

2401_85343303的博客 1168

PyTorch深度学习实战(47)——使用PyTorch构建Transformer模型

相较于传统模型,如循环神经网络 (RNN),Transformer 的优势在于能够理解输入和输出序列中元素之间的关系,在大语言模型 (如 ChatGPT 和 DeepSeek) 的发展中起到了关键作用,为了从零开始构建 Transformer,首先探讨自注意力机制,包括查询 (query)、键 (key) 和值 (value) 向量,以及缩放点积注意力 (SDPA)。将层归一化和残差连接集成到多头注意力层中,并与前馈层结合,构建编码器层,堆叠编码器层构建编码器,还将实现 Transformer 中的解码器。

盼小辉丶的博客 3万+

2025火爆全网的LLM大模型教程:从零开始构建大语言模型,git突破18K标星

什么!一本书的Github仓库居然有18.5k的星标!(这含金量不必多说)对GPT大模型感兴趣的有福了!这本书的名字叫也就是虽然这是一本英文书、而且还没正式出版,但是他真的可以帮你使用python从零构建一个自己的大模型!为了加强读者的动手能力,这本书主要使用的是框架,而不是依靠各种库。通过这种方法,加上大量的图表和插图让大家可以彻底了解llm的工作原理。

2401_84208172的博客 1153

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

大型语言模型(LLM)基础学习-什么是大型语言模型(LLM)

1.1 大型语言模型(LLM)的概念大语言模型(LLM,Large Language Model),也称大型语言模型,是一种旨在理解和生成人类语言的人工智能模型。LLM 通常指包含数百亿(或更多)参数的语言模型,它们在海量的文本数据上进行训练,从而获得对语言深层次的理解。目前,国外的知名 LLM 有 GPT-3.5、GPT-4、PaLM、Claude 和 LLaMA 等,国内的有文心一言、讯飞星火、通义千问、ChatGLM、百川等。

2301_76161259的博客 1356

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 大模型(Qwen3)训练实战:从零开始玩转LLaMA-Factory
下一篇: 大模型入门超全指南来了!人大团队力作,内附一线开发经验
AI_小站
博客等级 码龄3年 6255粉丝 1152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值