- 博客(724)
- 资源 (16)
- 收藏
- 关注
原创 Andy系列文章序
说明博文写的面比较杂,这里做一个汇总梳理1 Python实现决策树更确切的说是「Python实现树族算法系列」。使用Python实现CART决策树,并基于此实现GBDT,Random Forest , XGBoost等模型开始页面:Python实现决策树(系列文章1)–从最简单的算法开始2 Python 函数字典系列这里指的是一种自定义的函数方法。将函数都作为某个字典可以引用的键值,然后可以使用参数化的方法调用链条比较长的函数。未来这部分会打包,以包装其他普通函数的方式来充实里面的函数。
2020-06-07 22:39:33 766 1
原创 Python 全栈系列239 使用消息队列完成分布式任务
1 RabbitMQ 和 RabbitAgent的建立。这使得其他机器可以不必要使用端口,非常适合超高计算传输比的任务。2 将原始数据通过rabbit agent 发布到任务队列3 将chatglm2-6b部署到算力租用机:测试了主流的三家autodl, anygpu和仙宫云,都是ok的4 在各算力机上启动worker进行处理5 将结果获取,然后存在本地的mongo没能成功完成的实践是在仙宫云使用nginx做负载均衡,简化worker的请求。结论:用llm来做任务成本还是比较高的。
2024-04-12 16:35:15 858
原创 Python - 深度学习系列32 - glm2接口部署实践
前阵子,已经对glm2的接口部署做了镜像化。为啥不用glm3: 因为出现中英文混杂情况的概率较高。
2024-04-11 14:38:41 765
原创 Python - 深度学习系列31 - ollama的搭建与使用
做这个的主要目的是为了搭建Langchain的本地环境,使用LangChain让LLM具备调用自定义函数的功能。
2024-03-31 12:41:13 1303
原创 建模杂谈系列93 增量TF-IDF
说明简单就是美说起来这个项目很早之前做过,最近用到,再梳理一次。(完成后并按PM方式梳理)内容1 TF-IDF来自百度的解释:TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。概念:1 语料 corpus: 或者说文件集2 文档 document: 或者说一篇文章3 词频 TF(Term Frequency):TF表示词条在文档d中出现的频率
2024-03-25 23:47:58 810
原创 Python 全栈系列236 rabbit_agent搭建
通过rabbit_agent, 以接口方式实现对队列的标准操作,将pika包在微服务内,而不必在太多地方重复的去写。至少在服务端发布消息时,不必再去考虑这些问题。在分布式任务的情况下,客户端本身会启动一个持续监听队列的客户端服务,这些应该是容易通过简单的配置来实现的。在未来的应用上,我计划使用rabbitmq作为公网的消息队列,满足分布式计算的要求。例如,我部署了n个大模型,希望它们可以处理接口请求。
2024-03-24 18:36:28 1030
原创 Python - 深度学习系列30 - 使用LLaMA-Factory微调模型
最实用的一种利用大语言模型的方式是进行微调。预训练模型与我们的使用场景一定会存在一些差异,而我们又不可能重头训练。微调的原理并不复杂,载入模型,灌新的数据,然后运行再训练,保留checkpoints。但是不同项目的代码真的不太一样,每一个都要单独去看的话比较费神。本篇简单讨论一下用LLaMA-Factory微调模型的体验。
2024-03-21 21:43:54 661
原创 建模杂谈系列239 AI研究的推进方向与方式思考
AI其实是一个很有意思的名词,在很多介绍人工智能的书里都有提到,这也是大众最能接受的一种说法。所以这里不过多的去纠结严格的学术定义,而是以一种稍微工程化的语言来明确这里提到AI的定义,也是我最接受的一种说法。AI就是脑力劳动自动化AI = 人工智能 = 先人工,再智能要研究自动化,显然是按照人工的方法一步步分解,然后再把他们抽象成一个个步骤,最后串起来。其实看看transformers,最后变的很好用的一瞬间也就是pipeline(流水线)的应用。
2024-03-17 17:06:59 996
原创 Python 算法交易实验68 回测对象重构
从有这个想法,到勉强完工,整个过程还是持续了很长时间。最后觉得还是要尽快完成一版,所以才想写本篇文章。在这个版本中,不去考虑回撤、或者平均模型分的问题。
2024-03-15 19:15:58 898
原创 建模杂谈系列237 使用FSM进行状态管理
清晰化这部分的好处是体现在代码之前的。能够设定目标问题的状态及其变化,首先就需要思考及明确其中的关键因素,而这些可能是在开始时没有想好的。例如,有哪些状态是基本的,有哪些是对业务有帮助的。在整个运行过程中,可能会有哪些变化(事件),这些事件又会如何转变当前实例的状态。以及,有哪些不合法的事件:在状态A下不可能发生某些事件。在代码的运行过程中,每次的执行,总是能够被简单且清晰的记录下来。即便在事后,也可以很容易的通过这些状态记录,对问题进行快速的分析。结构化在定义了状态之后,很显然就会对方法进行区分。
2024-03-11 13:21:30 767
原创 Python 全栈系列233 部署chatglm系列接口部署
在国产大模型里,chatglm应该算是效果不错的,目前开源的三个版本都部署过。第一代的不太行,第二代,第三代的效果都还可以,但第三代对第二代似乎不是帕累托改善。在微调方面做了修改,但是显得比较乱。第四代之后不开源了,要调用官方的API,走向多模态了。考虑到我主要还是对中文进行处理,GPT系列目前能达到较好的使用效果(但缺点是串行,效率低),现在将这些版本进行一个整合及封装,供平时调用。
2024-03-10 10:33:59 1284
原创 Python 全栈系列232 再次搭建RabbitMQ
最近想重新上RabbitMQ,主要目的还是为了分布式任务调度。在Kafka和RabbitMQ两者犹豫了一下,还是觉得RabbitMQ好一些。在20年的时候有搞过一阵子的RabbitMQ,看了下当时的几篇文章,觉得其实想法一直没变过。介绍了丢包的问题,这个估计是我当时放弃使用这个的直接原因。现在想来挺逗的,完全是因为测试服务器ubuntu使用wifi连接不稳定导致的。文章参考RMQ官网,总结了7种队列工作模式。文章内还有使用pika进行测试的部分,我最主要使用模式2。
2024-03-05 17:43:17 1071
原创 Python 全栈系列231 以数据处理为核心的微服务思考
之前侧重在数据的IO、服务的并发响应以及复杂功能的实现方面。基本上架构方面不再是一个约束,只有在算法和规范上需要进一步完善。1 自动化运维。由于我的服务相对比较集中,所以可以自建一个微服务注册/监控/控制的服务。之前已经有过pilot了,所以应该没啥问题。2 分布式任务调度。使用flask aps + celery + rabbit_mq ,可以再做一个分布式的任务调度。
2024-03-04 22:35:17 1021
原创 Python一些可能用的到的函数系列125 FSM工具transitions
以上,已经可以使用transitions 用于一类简单的应用:进行非常小的图状态管理。从图的查询来说,是从某个点触发,某一个有向边指向的下一个节点。
2024-03-04 15:40:32 884
原创 建模杂谈系列235 文本分类工作的持久化设计
通常在建模和生产应用环节会存在脱节问题,这意味着:建模通常是通过一次性获得数据,计算后形成模型文件使用,后续即使生产上产生了较为重要的更新,但模型却不太会做更新。这类问题应该还是比较普遍的,所以过去我通常会选择一些相对稳定的模型方法,减少因为数据脱节导致的性能下降/不足等问题。有一些算法天生是会根据数据的跟新进行迭代的,例如强化学习类算法,但是这部分目前的比例还不大;还有就是贝叶斯方法,因为贝叶斯公式的原因,这些算法也会,甚至很容易随着数据的增加而更新。
2024-03-01 16:53:43 874
原创 Python 全栈系列226 GlobalBuffer
为了简化开发程序,特别是需要依赖全局数据的程序,例如:分布式任务需要知道当前可处理的任务;定时程序需要依据某个约束性全局变量。一个附带的好处是会大量减少对数据库产生的请求。
2024-02-28 23:39:39 399
原创 Python 全栈系列227 部署chatglm3-API接口
上一篇介绍了基于算力租用的方式部署chatglm3, 见;本篇接着看如何使用API方式进行使用。
2024-02-27 22:18:34 1455
原创 Python 全栈系列229 构造镜像chatglm3
基于已有的老镜像 pytorch_20230712:v3 进行升级,满足chatglm3的要求。老镜像本身是pytorch2.0的,同时也支持挂载gpu,并带有jupyterlab, 本身还是好用的。现在为了满足chatglm3的项目需求,同时也不想再拉新的外部镜像,所以做一下升级。最后结果算成功了吧,不过也算是猜个坑。
2024-02-27 22:07:01 401
原创 Python 全栈系列225 部署chatglm3
完成了租用算力机的配置,包环境搭建,项目和模型文件拷贝已经基础的测试。下一步会搭建api服务进行进一步测试。
2024-02-22 18:36:12 897
原创 Python 文本处理和语义分析4 基于文本向量化的分类预测
文本向量化有很多用途,其中之一是用于分类预测。变长的文本,在进行向量化之后,变为了定长的向量;n个文本堆叠,就是矩阵,。关于文本的向量化,可以参考之前说的m3e模型。在开始之前,我有一个小的猜测,然后实证下来还是非常符合预期的。所以再一次,向量化 ~ 矩阵化是最为核心的问题,它代表了一个人与计算机;可变数据与恒定算法的桥梁。
2024-02-21 10:23:41 887
原创 Python 文本处理和语义分析2 使用m3e对文本向量化
向量化将会是下一阶段演进的目标。在过去的实践中,向量或者矩阵其实是最贴近工具端的。以sklearn为例,虽然原始数据可能还是自然语言,但是在最终执行 fit或者predict之前,数据一般都转为了矩阵形态(numpy)。也就是说,在pandas(原始数据)和最终结果(predict result)之间,是(短暂且必然)存在过矩阵的。后来,应该是有过类似以图搜图类的应用,向量化且持久化在数据库中开始兴起。
2024-02-19 17:32:39 1346
原创 建模杂谈系列239 物品协同过滤-ItemCF
推荐是很重要的一块内容,丢下有点久了。计划先快速恢复一部分基础内容,然后再和产品改进结合,丰富这块的内容。
2024-02-19 11:34:41 361
原创 Python一些可能用的到的函数系列124 GlobalFunc
GlobalFunc是算网的下一代核心数据处理基础。算网是一个分布式网络,为了能够实现真的分布式计算(加快大规模任务执行效率),以及能够在很长的时间内维护不同版本的计算方法,需要这样一个对象/服务来支撑。GlobalFunc支持通过web请求来完成计算,通常要求输入和输出都是可json序列化的;同时也支持作为一个本地对象被引入和使用。另外一个核心点是智能化。智能化的一个前提是代理化,而不是直接调用。GlobalFunc允许使用参数化字符串来声明调用,这样每一次的操作是可以被其他算法/程序解读的。
2024-02-15 16:38:06 1233
原创 Python一些可能用的到的函数系列123 ATimer2-时间偏移
之前确定了时间轴(千年历),以及时间的转换方法。其中时间轴的数据将会存储在集群,以及通过RedisOrMongo保存部分常用的数据。本次讨论时间偏移的度量问题。
2024-01-31 23:11:50 952
原创 Python一些可能用的到的函数系列122 ATimer2
由于时间处理在算网中起到了更重要的作用:不仅是进行时间计算,而是成为架构规范的一部分,因此需要对ATimer进行升级,成为一个基础依赖对象。
2024-01-24 18:39:26 814
原创 Python 算法交易实验67 第一次迭代总结
在这里对第一次迭代(2023.7~ 2024.1)进行一些回顾和总结:总结:思路可行,在春暖花开的时候,迭代完一版,应该可以取得不错的结果。
2024-01-21 23:16:08 914
原创 建模杂谈系列234 基于图的程序改造
为了进一步提升程序设计与运维的可靠性,我觉得(目前看来)只有依赖图的结构。其实这种方法在很多AI工具(例如KNIME)都已经使用了,似乎这也是唯一可行的方法。之所以要自己开发,还是基于一条假设:现成的工具永远无法实现你最重要的20%需求。抛开一些可视化效果不说,目前的图工具又有什么特别棒的地方呢?
2023-08-26 18:04:39 264
原创 建模杂谈系列232 工程改进方法与实践_第一次迭代
首先重复这么一个过程是正确的,因为中间的过程环节点太多了。我甚至发现了一块丢失的代码,最后也没法补回。然后从头到尾,进行实现的同时记录日志,在下一次重复的时候可以做的很快。过程中我发现第一次的确做的非常粗糙,一如既往。所以接下来需要继续重复,提炼。发现的问题反而是业务层面的,我发现新标的的袋外表现明显弱了,不知道是什么问题。既有可能是数据问题(规模过小),也可能是模型问题(但是我做了结构退化,也没改善),当然也有可能是标的本身的问题。1 迅速再横向的扩大标的实验范围,规模大优先。
2023-08-06 21:45:15 285
原创 Python 算法交易实验65 算法交易二三事
对算法交易的一些内容做一些回顾和反思吧。老规矩,先chat一下道理说的都对,如果要补充就推荐再看一本书,我觉得这样就比较完整了。
2023-07-30 21:53:06 313
原创 Python 全栈系列222 ADBS的总结与再设计需求
1 一对一的数据处理。适用数据处理场景。2 膨胀或者坍塌的数据处理。适用大数据实时计算(利用缓存层),也适用用于学习型的数据处理(建模、反馈、强化)3 时间序列处理。
2023-07-21 14:29:07 101
原创 建模杂谈系列230 对象化-进展回顾
我将之前的实体模型做了对象化转换,整体流程都是沿用之前的,不过在应用上做了封装,正好最近也需要使用,感觉的确是很方便。原始数据这样通过Data对象将数据转为模型可接受的模式然后是模型的训练使用起来也是超方便的总体上,模型经过封装后无论是训练还是应用都变得非常简单。大部分transformers的模型也是这样的。不过最近调研下来,当初BERT和GPT的路子大家都选错了,我这种随大流的(之前深度学习和神经网络并不是我的重点)也错了。对于时间和资源极其有限又希望能直接产出角度来看,应该选GPT的。
2023-07-07 00:34:14 134
原创 Python 算法交易实验63 关于回测
量化的模型和策略方面我觉得还是不难的,而且每个人都可以有自己的思路,所以反而没啥好说。我觉得建立回测服务是比较重要的,因为很多想法行不行的通,最好直接跑一个服务来测试。1 以测试为导向,不仅是量化的要点,也是其他AI项目的第一规则2 强调框架性,通过框架设计才能保证稳定、灵活,同时框架一定会带来管理和性能上的损耗,要平衡好。3 通过微服务体系构建分布式的服务。以上三点是通用的。
2023-06-13 23:48:44 512
原创 建模杂谈系列226 流程与对象
鲁迅说:我家门前门前有两棵树,一棵是枣树,另一棵也是枣树。从编程语言的角度,可以分为两大类(面向过程或面向对象),可以参考文章的内容其实不多,我贴一下:对于两者的比较,文章这么说:我觉得首先从形态上看,最早的语言都是流程式的,例如PASCAL这些。后来,无论是C++, Java还是Python这些主流语言都走向了对象的方式。之所以写这篇文章,是因为我发现我总是喜欢流程化的方式(用Python也一样可以流程化),所以我想稍微剖析一下原因,给一个结论,以及未来的调整方法。
2023-06-08 15:42:03 648
原创 建模杂谈系列223 Q-Learning示例的代码拆解分析
整体上,我觉得强化学习很好玩,和打游戏简直一毛一样。这次是一个快速探索的实验,到这里就结束了,原理性验证通过,还是挺满意的。
2023-05-23 20:30:54 404
1 python的三种类方法
2021-01-10
DataManipulation-0.1.12.1-py3-none-any.whl
2020-07-11
DataManipulation-0.1.7-py3-none-any.whl
2020-05-30
netflix_titles.csv
2020-05-29
DataManipulation-0.1.6-py3-none-any.whl
2020-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人