华为ai笔试 华为秋招 华为ai笔试题 1015

笔试时间:2025年10月15日

往年笔试合集:

2023春招秋招笔试合集

2024春招秋招笔试合集

第一题

设计一种资源感知的大模型推理调度机制。给定一个长度为 n 的输入token序列,每个位置 j 拥有一个 d 维特征向量和一个正整数计算容量,表示该位置最多可接收来自前序位置的信息连接数。

系统需要完成:

  1. RMSNorm归一化(γ=1, ε=0)
  2. 计算注意力得分(使用标准缩放点积公式)
  3. 构造下三角注意力掩码矩阵,满足入度约束
  4. 最大化全局注意力信息总量(所有激活连接的平方注意力得分之和)
  5. 输出整数化得分(最大化S乘以100后四舍五入)

输入描述

  • 第1行:n d(以空格分隔,分别表示token序列长度和向量维度)
  • 接下来n行:每行d个浮点数,以空格分隔,表示特征向量
  • 最后1行:n个正整数,以空格分隔,表示计算容量

约束条件:

  • 1 ≤ n ≤ 100
  • 1 ≤ d ≤ 50
  • 所有向量非零

输出描述

返回一个整数,即整数化得分

样例输入

4 2 

2.0 2.0 

3.0 0.0 

0.0 4.0 

1.0 1.0 

1 2 1 3

样例输出

600

参考题解

解题思路:

  1. 对每个token的特征向量进行RMSNorm归一化
  2. 计算每对位置i<j的注意力得分
  3. 对于每个位置j,从所有前序位置中选择得分平方最大的c_j个连接(贪心策略)
  4. 累加所有位置的贡献得到总得分S
  5. 将S乘以100后四舍五入得到整数结果

Python:

import sys
import math

def work():
    a, b = map(int, sys.stdin.readline().split())
    Y = []
    for _ in range(a):
        Y.append(list(map(float, sys.stdin.readline().split())))
    D = list(map(int, sys.stdin.readline().split()))
    
    # RMSNorm归一化
    Z = []
    for v in Y:
        s = 0.0
        for t in v:
            s += t * t
        r = math.sqrt(s / b)
        u = [w / r for w in v]
        Z.append(u)
    
    # 计算注意力得分并选择最优连接
    ans = 0.0
    f = math.sqrt(b)
    for p in range(1, a):
        q = Z[p]
        r = D[p]
        lst = []
        for i in range(p):
            w = Z[i]
            dp = 0.0
            for k in range(b):
                dp += w[k] * q[k]
            sc = dp / f
            lst.append(sc * sc)
        lst.sort(reverse=True)
        cnt = min(p, r)
        s_val = 0.0
        for idx in range(cnt):
            s_val += lst[idx]
        ans += s_val
    
    res = round(100.0 * ans)
    print(int(res))

work()

第二题

使用二分Kmeans算法(Bi-Kmeans)进行网络站点的子网分割。算法首先将全网聚类成两个子网,然后基

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2025 春招笔试合集 文章被收录于专栏

2025打怪升级记录,大厂笔试合集 C++, Java, Python等多种语言做法集合指南

全部评论

相关推荐

迷茫的大四🐶:💐孝子启动失败,改为启动咏鹅
点赞 评论 收藏
分享
牛牛不会牛泪:脉脉太多这种了,纯水军
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务