0%

区块链是去中心化系统中用来实现并确保系统完备性的工具。

拜占庭将军问题

拜占庭将军问题是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全达成一致的努力才能获得胜利。

拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。

双花问题

双花问题是指在数字货币系统中,特别是加密货币如比特币中,可能会出现的一种欺诈行为。具体来说,当一个人尝试使用同一份数字货币(例如同一笔比特币)进行多次交易时,这种现象称为双花。由于数字货币是基于分布式账本技术的,交易需要通过网络中的节点共识来确认,而不是传统金融体系那样的集中式方式。因此,如果有人尝试使用同一笔数字货币进行多次交易,可能会导致节点间的共识矛盾,使得这些交易无法得到确认或者产生错误的结果。

查询慢SQL是否开启

1
show variables like '%slow_query_log%';

开启慢SQL

1
2
3
4
5
6
7
[mysqld]
## 开启慢查询日志,开启后将会记录执行时间超过 long_query_time 参数值的 SQL 语句( 一般临时开启即可 )
slow_query_log = ON
## 定义执行时间超过多少秒为慢查询,默认 10s
long_query_time = 5
## 定义慢查询日志存放位置
slow_query_log_file = /data/mysql/logs/slow.log

分析工具mysqldumpslow

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@crc-uat-oa-mysql bin]# ./mysqldumpslow  --help
Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]

Parse and summarize the MySQL slow query log. Options are

--verbose verbose
--debug 调试
--help 帮助文档
-v verbose
-d 调试
# 表示按何种方式排序
-s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is default
al: 平均 锁定时间
ar: 平均 返回记录
at: 平均 查询时间
c: 访问次数
l: 锁定时间
r: 返回记录
t: 查询时间
-r 颠倒排序顺序(最大的最后一个而不是第一个)
-t NUM 返回前面多少条数据
-a don't abstract all numbers to N and strings to 'S'
-n NUM abstract numbers with at least n digits within names
-g PATTERN 后面搭配一个正则匹配模式,大小写不敏感。
-h HOSTNAME 数据库服务器的主机名 for *-slow.log 文件,默认是 '*', 表示匹配所有
-i NAME 服务器实例的名称(如果使用mysql.server启动脚本
-l 不要从总时间中减去锁定时间

测试

1
2
3
4
5
6
7
8
9
10
11
# 得到返回记录集最多的10 个SQL
./mysqldumpslow -s r -t 10 /data/mysql/logs/slow.log

# 得到访问次数最多的10 个SQL
./mysqldumpslow -s c -t 10 /data/mysql/logs/slow.log

# 得到按照时间排序的前10 条里面含有左连接的查询语句
./mysqldumpslow -s t -t 10 -g "left join" /data/mysql/logs/slow.log

# 另外建议在使用这些命令时结合| 和more 使用,否则有可能出现爆屏情况
./mysqldumpslow -s r -t 10 /data/mysql/logs/slow.log | more

LangChain

    LangChain 是一个高级框架,旨在简化在复杂系统中构建语言模型应用的过程。它基于自然语言处理(NLP)技术,并将其与链式推理结合,从而允许开发者创建可以进行多步信息处理的应用程序。这种框架支持多种语言模型和API,让开发人员能够链接不同的语言服务,例如翻译、摘要、问题回答等,以构建出更加智能和多功能的语言处理工具。LangChain的设计哲学强调的是模块化和可插拔性,从而支持快速迭代和灵活性。

    通俗点说:想象一下有一座大型的语言工厂,里面有许多不同的机器,每个机器都能做一项专门的事情,比如有的能帮你写作,有的能帮你解答问题,还有的能帮你把一种语言翻译成另一种语言。LangChain就像是管理这座工厂的操作系统,它帮助人们把这些机器连接起来,让它们协同工作,从而完成各种复杂的任务。这样,开发者就能更容易地使用这些强大的语言机器,创造出各种各样的应用程序,帮助我们解决生活中的问题。

ModelScope

    ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

Streamlit

    Streamlit 是一个用于构建数据科学和机器学习应用程序的开源 Python 库。它旨在使开发人员能够以简单快速的方式构建交互式应用程序,无需繁琐的前端开发。Streamlit 提供了一组简单的 API,可用于创建具有数据探索、可视化和交互功能的应用程序。只需要通过简单的 Python 脚本就可以创建一个 Web 应用程序。可以利用 Streamlit 的丰富组件库来构建用户界面,例如文本框、滑块、下拉菜单和按钮,以及可视化组件,例如图表和地图。

LLM模型

什么是LLM大语言模型?Large Language Model,从量变到质变

大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。它们在大量的文本数据上进行训练,可以执行广泛的任务,包括文本总结、翻译、情感分析等等。LLM的特点是规模庞大,包含数十亿的参数,帮助它们学习语言数据中的复杂模式。这些模型通常基于深度学习架构,如转化器,这有助于它们在各种NLP任务上取得令人印象深刻的表现。

阅读全文 »

  1. nvidia-smi: 显示当前系统上Nvidia GPU的状态,包括设备的使用情况、显存使用情况、功耗等信息。使用该命令可以查看GPU的状态,例如GPU的使用率、显存占用率、功耗等信息,以及GPU的温度、风扇转速等参数。

  1. nvidia-smi -l 1:间隔1秒刷新GPU信息
  2. nvidia-smi -l:间隔几秒刷新GPU信息
  3. nvidia-smi -L: 显示当前系统上所有Nvidia GPU设备的信息。使用该命令可以查看当前系统上所有的Nvidia GPU设备的信息,包括设备的名称、索引、总显存大小等。

  1. nvidia-smi dmon: 显示GPU设备的显存使用情况和GPU的繁忙度。使用该命令可以实时监测GPU的显存使用情况和GPU的繁忙度,并以文本形式输出。

  1. nvidia-smi -q: 显示GPU的详细信息,包括硬件规格、驱动版本、显存信息、功耗管理、温度控制、GPU拓扑结构等信息。使用该命令可以了解GPU的硬件配置、驱动版本、显存大小、功耗管理策略、温度控制策略等信息,以及GPU的连接关系、拓扑结构等信息。

  2. nvidia-smi -i [device_index] -q: 显示指定GPU设备的详细信息。使用该命令可以查看指定GPU设备的详细信息,例如该设备的硬件规格、驱动版本、显存信息、功耗管理、温度控制等信息。

  3. nvidia-smi --query-gpu=name,temperature.gpu,utilization.gpu,memory.total,memory.used,memory.free --format=csv: 显示当前系统上所有Nvidia GPU设备的使用情况,并输出到CSV文件中,方便后续分析。使用该命令可以显示当前系统上所有Nvidia GPU设备的使用情况,例如GPU的温度、利用率、显存使用情况等信息,并将信息输出到CSV文件中,方便后续分析。

  4. nvidia-settings: 显示GPU设备的详细配置信息,包括显卡型号、GPU核心时钟、内存时钟、电压等信息。使用该命令可以配置GPU设备的参数,例如GPU的核心时钟、内存时钟、电压等参数。

  5. nvidia-smi -i [device_index] -e 0x20: 显示指定GPU设备的ECC错误日志。使用该命令可以查看指定GPU设备的ECC错误日志,以帮助排查硬件问题。

  6. nvidia-smi topo -m: 显示GPU拓扑结构和连接关系,可用于识别GPU间连接的带宽和延迟等信息。使用该命令可以了解GPU设备之间的连接关系和拓扑结构,以及GPU设备之间的带宽和延迟等信息。