当前位置: 首页 > news >正文

二进制文件

大多数人听到“二进制”的时候,脑海里可能马上就会联想到电影《黑客帝国》中由“0”和“1”组成的矩阵。

笔者不打算在这里详细讨论二进制的运算、反码、补码之类枯燥的东西,但有几个和开发相关的概念需要做一点澄清和普及。因为这些内容就像空气——用的时候不觉得,但一认真审视起来就容易犯迷糊。

我们在计算机中看到的各种文件,例如文本、图片、音乐、视频、Word文件等,对于计算机来说,没有任何差别,因为它们都是由“0”和“1”组成的。但这么说还是太笼统,举个例子就很容易理解了。

首先,在Windows中下载并安装一个叫做Hex Editor Neo的软件,这是一种十六进制编辑器。当然也可以通过安装Vscode或Notepad++的插件的方式安装。

然后,在Windows的桌面上新建一个txt文本文件,名字可以任意起,在文件其中输入一些内容后保存,比如输入“Java编程语言”。

关闭文本编辑器窗口,然后光标悬停在文本文件的图标上并单击鼠标右键,选择用Hex Editor Neo软件打开它,如图1-4所示。

图1-4 用Hex Editor Neo打开文本文件

打开后如图1-5所示。

图1-5 用Hex Editor Neo打开文本文件后显示的内容

可以很清楚地看到,整个区域分为左中右三个部分。左边部分显示的是十六进制序号;中间部分显示的是刚才输入的内容,用十六进制数字表示;而右边则是内容的字符编码,只不过中文都变成了乱码。现在换成用二进制来显示它。依次点击菜单上的“View”->“Display As”->“Binary”。

切换之后,显示出来的二进制内容如图1-6所示。

图1-6 用二进制显示文本内容

可以看到第一行第一列,原来显示十六进制的“4a”换成了二进制“01001010”。这正是“4a”对应的二进制数值,而将“01001010”转换成十进制数就是“74”。为什么要转换为十进制数呢?因为只有转换为十进制才能通过ASCII码表查到“74”所对应的字符是大写字母“J”,也就是刚才在文本中输入的第一个字母,如图1-7所示。

图1-7 十进制数字“74”对应字母“J”

依此类推,这些十六进制内容转换之后正是刚才输入的“Java编程语言”。

刚才展示的是文本数据,现在再来看一下图像数据。

用Photoshop或其他画图软件创建一个10×10像素的正方形,底色为白色,如图1-8所示。

图1-8 10×10像素的白色正方形

然后再次用Hex Editor Neo软件打开它,可以看到如图1-9所示的二进制内容。

图1-9 白色正方形图片的二进制内容

上图中间部分第一行第二至四列的内容分别为“01010000”、“01001110”和“01000111”,按照图1-7中的方法,它们分别对应ASCII中的“P”、“N”、“G”。

这正是文件名后缀“PNG”。这是巧合吗?并不是,因为在右边部分的剩余内容中可以看到其他和这个文件相关的一些信息,如创建文件的软件工具,文件创建时间等信息,这和用Windows属性工具显示出来的信息是一致的,如图1-10所示。

图1-10 图形文件的属性信息

这里没有再继续深入了解,但可以断定:Hex Editor Neo显示的内容一定包含了所有Windows属性显示的内容。

从这个意义上说,如果能够完全掌握用二进制创建文件的规则,是不是可以用Hex Editor Neo代替任何软件呢?例如用Hex Editor Neo代替文本编辑器,代替Word,代替Photoshop,甚至代替IDEA来编程呢?这不但理论上是完全可行的,而且事实上也确实可行。不过,却不会有人真的那么做,因为太费时费力,效率太低,而且极易出错。

我们平常所看到的任何文件,除了文件的内容本身,还含有一部分附加信息。这些附加信息用户是看不到的,即使看到了也没有意义。因为它们是给计算机操作系统准备的,用以区分各类不同的文件类型及读取、存储方式,如图1-11所示。

图1-11 操作系统读取二进制内容的方式

从上图可以看出,操作系统和各种软件是这样工作的:

1. 读取时,操作系统通过附加信息就知道该将文件交给哪个软件处理、转译并展示;

2. 存储时,各种软件会先给文件添加专属的附加信息(软件安装时会在操作系统的注册表中“登记”这些附加信息),然后再交由操作系统一并保存;

3. 卸载后,由于对应的附加信息被从注册表中清除,所以操作系统也就不知道对应类型的文件该给哪种软件处理了。

这种附加信息有一个计算机专有名词:文件头。这也正是操作系统和各种应用软件存在的意义:有些文件头十分庞大,如果要人力用二进制的方式去编写完成,无疑既费力又不讨好,但计算机却十分擅长这种精确无误且枯燥无比的重复性劳动。


当前,AI应用开发正在经历快速发展和深度融合,具体表现为在商业服务、医疗卫生、教育培训、自媒体传播等多领域全面开花。与云计算、物联网、5G技术结合,实现边缘智能;与传统软件开发过程融合,逐步标准化和模块化,实现很多基础性的编码工作;与工具和框架生态绑定,实现简化开发流程和快速迭代的目的。

作为AI应用的基础设施,大模型的重要性自然不言而喻。尤其是目前业界如火如荼的大模型训练,以其千亿级别的超大规模参数、庞大的数据与算力需求、模型的精细化调整、能源与效率的优化等,让人们想要爱它不容易。

具体来说,AI大模型训练涉及到的技术难点和关键挑战,主要包括如下七个方面。

一、数据质量与数量挑战。

训练大模型需要超大规模且高质量的数据集,但数据质量不均、标注不完整会极大地影响模型性能。而数据规模庞大时,存储和处理成本会又会显著增加。因此,应对策略包括但不限于如下方式:

  • 合理做好数据的动静分离、冷热分离及主从分离,建设企业的分层、在线/离线数仓,利用各种数据清洗和增强技术确保数据质量。
  • 采用分布式存储和“流批”框架(如Hadoop、HBase、Spark和Flink等)处理大规模或超大规模数据集。
  • 使用合成数据、增量学习或迁移学习逐步减少对大规模标注数据的依赖。

二、模型设计与优化挑战。

大模型通常具有数十亿甚至上千亿的参数,设计合理的模型架构(如Transformer)就显得尤为重要了。因为模型复杂度过高,可能导致过拟合、收敛慢、结果不准确等问题。所以,相应的应对策略如下:

  • 使用神经架构搜索(NAS)自动优化模型结构。
  • 通过引入正则化、Dropout等技术防止过拟合。
  • 利用优化算法(如AdamW)加速模型的收敛。

三、算力需求与分布式训练挑战。

大模型的训练需要巨大的计算资源来支撑,对GPU、TPU等硬件设备的需求很高。而一般商用的大模型是不可能通过单机训练来完成的,这就需要部署分布式训练模型,涉及节点间通信、数据同步以及一致性的复杂问题。可以通过以下策略来应对。

  • 部署高性能计算集群或租用算力云计算资源(如AWS、阿里云、AutoDL等)。
  • 使用AI分布式框架(如Horovod、DeepSpeed、Colossal-AI)优化多节点协作。
  • 通过混合精度训练(FP16/FP8)来降低对算力的需求。

四、训练效率与成本挑战。

AI大模型的训练时间通常耗时比较久,尤其是超大规模的AI模型,可能耗费数天、数周乃至数月。昂贵的计算资源和能源消耗会给成本带来不小的压力。可以这样来解决这些问题:

  • 使用分布式数据并行、模型并行等方法提高训练效率。
  • 通过剪枝、量化等技术减少大模型的复杂度,使之聚焦于解决主要目标。
  • 使用低功耗硬件和能效优化技术降低能源消耗。

五、模型稳定性与可控性挑战。

大模型非常容易陷入梯度爆炸或消失的问题,从而导致训练结果的不稳定,输出不可靠的结果,需要进行更为精细的控制和调优。对于这类问题,其应对策略如下:

  • 使用梯度裁剪(Gradient Clipping)防止梯度爆炸。
  • 设计合理的学习率调度策略(如Warm-up + Cosine Annealing)。
  • 使用对抗训练或多任务学习不断增强模型的鲁棒性。

六、训练后的部署与服务挑战。

大模型训练完成后的输出结果会占用大量的存储空间,推理时需要高性能硬件支持。部署大模型时需考虑延迟、吞吐量等各种性能指标。可以通过如下方式应对:

  • 使用模型压缩技术(如蒸馏、剪枝)来降低部署成本。
  • 利用分布式推理框架(如TensorRT、ONNX Runtime)加速推理。
  • 通过微服务架构和Docker技术支持弹性扩展,优化部署效率。

七、隐私与伦理问题挑战。

大规模训练数据可能包含用户敏感信息,带来隐私泄露或法律风险。而模型生成的结果又可能会存在偏见或误导性的内容,招致公众反感以及监管部门的介入。基于此,其应对策略如下:

  • 采用联邦学习和差分隐私技术保护数据安全。
  • 定期对模型进行审查,通过相关性过滤技术杜绝可能产生的风险。
  • 建立技术伦理委员会,监督AI系统的使用和影响。

综合以上所述,AI大模型训练涉及从数据准备、模型优化到资源分配、部署和伦理等“七座大山”。要成功完成训练,需要技术、资源和管理多方面的协同,同时又需要持续关注最新技术的发展以保持核心竞争力。

相关文章:

二进制文件

大多数人听到“二进制”的时候,脑海里可能马上就会联想到电影《黑客帝国》中由“0”和“1”组成的矩阵。 笔者不打算在这里详细讨论二进制的运算、反码、补码之类枯燥的东西,但有几个和开发相关的概念需要做一点澄清和普及。因为这些内容就像空气——用…...

【电子元器件】音频功放种类

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。 一、概述 音频功放将小信号的幅值提高至有用电平,同时保留小信号的细节,这称为线性度。放大器的线性…...

linux之vim

一、模式转换命令 vim主要有三种模式:命令模式(Normal Mode)、输入模式(Insert Mode)和底线命令模式(Command-Line Mode)。 从命令模式切换到输入模式:i:在当前光标所在…...

QT的ui界面显示不全问题(适应高分辨率屏幕)

//自动适应高分辨率 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);一、问题 电脑分辨率高,默认情况下,打开QT的ui界面,显示不全按钮内容 二、解决方案 如果自己的电脑分辨率较高,可以尝试以下方案:自…...

数据结构--串、数组和广义表

串 定义:串(String)是由零个或多个字符组成的有限序列。 子串:串中任意个连续字符组成的子序列称为该串的子串。 主串:包含子串的串相应地称为主串。 字符位置:字符在该序列中的序号为该字符在串中的位置…...

LLMs之Agent之Lares:Lares的简介、安装和使用方法、案例应用之详细攻略

LLMs之Agent之Lares:Lares的简介、安装和使用方法、案例应用之详细攻略 导读:这篇博文介绍了 Lares,一个由简单的 AI 代理驱动的智能家居助手模拟器,它展现出令人惊讶的解决问题能力。 >> 背景痛点:每天都有新的…...

1-1.mysql2 之 mysql2 初识(mysql2 初识案例、初识案例挖掘)

一、mysql2 概述 mysql2 是一个用于 Node.js 的 MySQL 客户端库 mysql2 是 mysql 库的一个改进版本,提供了更好的性能和更多的功能 使用 mysql2 之前,需要先安装它 npm install mysql2 二、mysql2 初识案例 1、数据库准备 创建数据库 testdb CREAT…...

企业邮箱为什么不能经常群发邮件?

企业邮箱是用企业域名作为后缀的邮箱,虽然企业邮箱确实具备群发邮件的功能,但它更适用于企业内部的群发,而非用于外部推广。如果是在企业邮件域内进行群发,通常可以借助企业邮箱的邮件列表来实现。然而,对于域外的大量…...

集成运算放大电路反馈判断

集成运算放大电路 一种具有很高放大倍数的多级直接耦合放大电路,因最初用于信号运算而得名,简称集成运放或运放 模拟集成电路中的典型组件,是发展最快、品种最多、应用最广的一种 反馈 将放大电路输出信号的一部分或全部通过某种电路引回到输…...

媒体查询、浏览器一帧渲染过程

文章目录 媒体查询语法示例根据视口宽度应用不同的样式根据设备像素比应用不同的样式根据方向应用不同的样式 使用场景 浏览器一帧的渲染过程 媒体查询 媒体查询(Media Query)是CSS3中的一个重要特性,它允许开发者根据设备的特定条件&#x…...

高级排序算法(一):快速排序详解

引言 当我们处理大规模数据时,像冒泡排序、选择排序这样的基础排序算法就有点力不从心了。这时候,快速排序(Quick Sort)就派上用场了。 作为一种基于分治法的高效排序算法,快速排序在大多数情况下可以在O(n log n)的时…...

3.2 网络协议IP

欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 1 定义2 虚拟互连网络3 分组在互联网中的传送4 IPv4 地址 1 定义 网际协议 IP是 TCP/IP 体系中两个最主要的协议之一,也是最重要的互连网协议之一。IPv4 和 IPv6 …...

2024 一带一路暨金砖国家技能发展与技术创新大赛【网络安全防护治理实战技能赛项】样题(中职组)

2024 一带一路暨金砖国家技能发展与技术创新大赛【网络安全防护治理实战技能赛项】样题(中职组) 1.基础设置和安全强化(xxx 分)1.3. 任务内容: 2.安全监测和预警(xxx 分)2.1. 任务一:建立目录安…...

excel如何让单元格选中时显示提示信息?

现象: 当鼠标放在单元格上,会出现提示信息: 先选中单元格选择上方的【数据】-【数据验证】图标选择【输入信息】勾上【选定单元格时显示输入信息】输入【标题】,如:最上方图中的:姓名:输入【输…...

oscp备考,oscp系列——Kioptix Level 3靶场

Kioptix Level 3 oscp备考,oscp系列——Kioptix Level 3靶场 nmap扫描 主机发现 └─# nmap -sn 192.168.80.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-09 00:33 CST Nmap scan report for 192.168.80.1 Host is up (0.00014s latency). MAC…...

信创改造-达梦数据库配置项 dm.ini 优化

设置模式:兼容MySQL,COMPATIBLE_MODE 4 内存占比:90%,MAX_OS_MEMORY 90 目标内存:2G(不影响申请内存超过2G,但这部分内存不会回收),MEMORY_TARGET 2000 参考 https:…...

日本IT-需要掌握哪些技术框架?一篇通读

在日本从事IT工作,需要掌握的技术框架与全球范围内的趋势相似,但也有一些特定的技术和框架在日本更为流行。以下是一些在日本IT行业中常用的技术框架: Java后端 Java语言:Java在日本是一门非常稳定且受欢迎的编程语言&#xff0…...

错题:Linux C语言

题目&#xff1a;手写代码&#xff1a;判断一个数&#xff08;int类型的整数&#xff09;中有有多少1 题目&#xff1a;手写代码&#xff1a;判断一个数(转换成二进制表示时)有几个1 #include <stdio.h> int main(int argc, const char *argv[]) { //判断一个数&#xf…...

多表设计-一对多一对多-外键

一.多表设计概述&#xff1a; 二.一对多&#xff1a; 1.需求&#xff1a; 根据 页面原型 及 需求文档&#xff0c;完成部门及员工模块的表结构设计 -->部门和员工就是一对多&#xff0c;因为一个部门下会有多个员工&#xff0c;但一个员工只归属一个部门 2.页面原型&…...

Ch1:古今的manipulation与仿真、ROS和Drake介绍

不同的机器人研究与仿真 以前&#xff08;15年左右&#xff09;只能用仿真环境训练行走机器人&#xff0c;对于manipulation任务&#xff0c;有两个问题&#xff1a;1&#xff09;相机不真实&#xff1b;2&#xff09;接触行为太复杂。 I remember just a few years ago (~201…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...