系统安全工具软件 [2023]通过GPT+词向量快速构造个人知识库 用的是llama_index这个项目,注意这个项目对embeding消耗贼大,谨慎使用 **!!!千万不要外网部署,因为这个项目存在已知的RCE和提示词注入问题** 这个llama_index的项目连接: https://github.com/jerryjliu/llama_index 这是部分效果(用了key08的资料+intel和amd手册): EAC:  免杀:  PG:  用我的代码,装好llama_index,然后把你的资料放在data目录就行.pdf、word、marketdown都可以 代码如下: 阅读全文 2023-07-31 huoji 0 条评论
系统安全python二进制安全一线开发 [2023]现代AI杀毒引擎原理+部分代码 之前的鸭鸭引擎当时说要开源了,只不过工作忙一直没空管.这几天闲了一会想找找源码,发现模型都丢了.源码发不出来了,但是没关系,还是能说一下当时怎么做这款引擎的 鸭鸭杀毒一共迭代了3个版本,容我慢慢说 阅读全文 2023-07-19 huoji 3 条评论
一线开发 [2023]迅速上手meta的llama模型 首先确保自己有足够的资源配置.这边给个资源配置表: ### 硬件要求 7B模型: 1张3090就行,很垃圾,没什么效果 13B模型: 2张3090就行,很垃圾,没什么效果 30B模型: 4张3090是最低要求,推理速度极慢.有条件四张A100 60B模型: 没跑过 这边以30B模型为例: 首先克隆项目: https://github.com/facebookresearch/llama 然后自己网上找个30B的权重 阅读全文 2023-03-13 huoji 2 条评论
一线开发 [2023]LLAMA是否会引发下一代安全领域AI机器学习革命? ###前言 这边不说chatgpt如何智能智能了,都是搞技术的,我们都知道chatgpt是基于transformer的,不是啥闭源技术,主要是数据量的问题. 这边讨论一下一个潜在的可能爆发点,低成本预训练模型的可行性. ###传统模型的不足 在安全领域传统的AI模型据我所知有如下内容 1. 流量检测,如waf等 2. 恶意程序检测 3. DevOps 4. 这个国外比较多,EDR主机日志检测 传统模型其实都面临一个不足,那就是误报大、样本训练开销大,到最后往往都会变成 非白即黑. 对未知样本,一律判黑. 此外困扰传统模型的最大的问题是,AI的理解能力不是那么好,AI的效果直接取决于样本参数的输入 ###LLAMA为什么可能是下一代安全领域的AI机器学习革命 不知道各位注意到了没有,chatgpt也能处理安全相关的事务,是的,这是这些大语言模型的特点-'具有理解能力' 包括你的代码、waf流量日志、主机流量日志,直接脱离传统的需要自定义输入参数的问题,直接问,直接回复.AI就跟理解了一样 这就带来一个非常显而易见的特点,输入参数能泛化,调参成本直线下降,之前各种绞尽**脑汁的想特征提取,现在统统不需要了,AI似乎能理解一下,只要给一段json,就能返回你需要的结果.** 这会大大降低模型的成本,以及大幅度提高模型的效果.试想一下,随便一个人拿llama模型,强化训练一个专用的AI(事实上openAI已经有类似的模型蒸馏接口了) **在原llama模型的理解能力上,分化出专用检出模型,理解能力+检出能力,也许会让目前的AI提高一个等级.** ###缺点 当然我不是专业搞AI的,可能会预测错.这种想法显而易见的也有缺点,那就是llama太占资源了.相比传统的AI,占的资源不是一个量级的.对于现在来说,为了实现一个小功能,去做用尽资源跑一个大模型,可能有点得不偿失. 但是在以后,硬件成本降低后,这一切都有可能 阅读全文 2023-03-12 huoji 1 条评论
python一线开发 [2021]从0开始的tensorflow2.0 (三) LSTM 假设给出如下需求: 我给你几个行为 A B C D E F 要求知道A B C D E 推测出F 这种使用场景就能使用LSTM,关于LSTM本文就不废话了,因为网上介绍一大堆了,直接上干货: 首先我们需要将数据 A B C D E F 转为编号:0 1 2 3 4 6 其次,对其进行扁平归一化,并且划分训练和测试数据: ```cpp train_path = './result_list.csv' data_frame = pd.read_csv(train_path) data_frame['activity'] = data_frame['activity'].astype('float32') scaler = StandardScaler() data_frame['activity'] = scaler.fit_transform( data_frame['activity'].values.reshape(-1, 1), scaler.fit(data_frame['activity'].values.reshape(-1, 1))) train_size = int(len(data_frame['activity']) * 0.75) trainlist = data_frame['activity'][:train_size] testlist = data_frame['activity'][train_size:] ``` 读出来应该是: 0 1 2 3 4 5 .... 然后构造滑块,成0 1 2 3 4(X), 5(Y)的样子: ```cpp look_back = 64 trainX, trainY = create_dataset(trainlist, look_back, None) testX, testY = create_dataset(testlist, look_back, train_size) ``` 注意网上的create_dataset代码都过时了,大部分你直接抄就会报错,用我的就行: ```cpp def create_dataset(dataset, look_back, start_index): dataX, dataY = [], [] for i in range(len(dataset)-look_back-1): a = dataset[i:(i+look_back)] dataX.append(a) if start_index != None: dataY.append(dataset[start_index + i + look_back]) else: dataY.append(dataset[i + look_back]) return np.array(dataX), np.array(dataY) ``` 记得要reshap一下: ```cpp trainX = trainX.reshape(trainX.shape[0], trainX.shape[1], 1) testX = testX.reshape(testX.shape[0], testX.shape[1], 1) ``` 之后直接训练即可: ```cpp model = keras.Sequential() model.add(keras.layers.LSTM(128, input_shape=(look_back, 1), return_sequences=True)) model.add(keras.layers.LSTM(256)) model.add(keras.layers.Dense(1)) model.compile(optimizer=keras.optimizers.Adam(), loss='mae', metrics=['MeanSquaredError']) model.fit(trainX, trainY, epochs=26, batch_size=128) model.save('./model_lstm.h5') ``` 测试:  阅读全文 2021-08-14 huoji 0 条评论
python一线开发 [2021]从0开始的tensorflow2.0 (二) 上一节 [[2021]从0开始的tensorflow2.0 (一)](https://key08.com/index.php/2021/07/04/1239.html "[2021]从0开始的tensorflow2.0 (一)") 说了基本的逻辑回归操作,实际上所有的一些东西都能被提取特征然后做文本二分类,基本上都是这个套路,现在来说说常见的图像处理 - 卷积 请注意 我们今天只讨论处理后的图像,实际上,**图像识别部分最难的部分就仅仅是图像处理仅此而已,但是我们今天不讨论图像处理** 一个标准的网络由三个部分组成 卷积层 池化层 全连接层 ## 卷积核  阅读全文 2021-07-06 huoji 0 条评论
python一线开发 [2021]一些常见的机器视觉用到的神经网络结构(keras) 收藏一些常见的机器视觉用到的神经网络结构,以后不用自己构造网络了! 这些都咋用呢? 我已经写好祖传代码了: ```python def build_save_model(train_data, test_data): # 构建模型 CBAPD network_model = VGG16() network_model.compile(optimizer='adam', loss=tensorflow.keras.losses.SparseCategoricalCrossentropy( from_logits=False), metrics=['accuracy']) #cp_callback = tensorflow.keras.callbacks.ModelCheckpoint(filepath=checkpoint_save_path,save_weights_only=True,save_best_only=True) # 如果要保存点自己在fit加这个参数 # callbacks=[cp_callback] #checkpoint_save_path = "./checkpoint.ckpt" # if os.path.exists(checkpoint_save_path + '.index'): # print('-------------load the model-----------------') # network_model.load_weights(checkpoint_save_path) network_model.fit(train_data, epochs=100, validation_data=test_data, batch_size=64) network_model.summary() network_model.evaluate(test_data) tensorflow.saved_model.save( network_model, '\\model\\') ``` VGG网络: 阅读全文 2021-02-24 huoji 1 条评论