ARTS #222 | WAM 与 LMDeploy 家里多了一个可爱的小物件,萌萌的垃圾桶~ Algorithm 本周选择的算法题是:Smallest String With A Given Numeric Value。 class Solution: def getSmallestString(self, n: int, k: int) -> str: result = [] ...
什么是 CUDA Graphs 用 CUDA Graphs 加速 PyTorch 模型~ CUDA Graphs 是 NVIDIA CUDA 10 引入的一项高级特性,它能够将一系列 CUDA 内核定义并封装为一个单一的操作图,而不是逐个启动操作。这种机制通过一个 CPU 操作启动多个 GPU 操作,从而减少 GPU 任务的启动开销。 在传统的 GPU 编程中,每当需要让 GPU 执行任务时,CPU 都必须...
ARTS #221 | Late Chunking 附近的一座小山,山里藏了个小瀑布,适合玩水的季节~ Algorithm 本周选择的算法题是:K-th Smallest in Lexicographical Order。 class Solution: def findKthNumber(self, n: int, k: int) -> int: def count_numbers(prefi...
提升 Python 代码质量的工具组合 去石牛山的天气不太好,雾大,但景色依然迷人,别有一番神秘的美感。 前言 Python 这门语言优点很多,简洁、易读,在众多编程语言中脱颖而出,然而随着项目规模的扩大,代码的规范性和潜在错误成为不容忽视的问题,特别是在重构的时候,修改方法定义、删减参数量都有可能造成潜在的错误。 为了提升 Python 代码质量,我最近评测了四个工具,并最终选择了其中三个。 结论: ...
在 Java 里推理 ONNX 模型 十一在海边露营,风景很美~ 最近尝试在 Java 里直接推理模型,避免在生产环境中使用 Python,一方面是出于性能和多线程等原因,另一方面还能减少线上环境的复杂度,当团队实施微服务架构时,团队的规模是考量微服务粒度的重要因素之一,因此对小团队来说,能在 Java 里直接调用模型将大大减少服务运维的复杂度,不用担心服务灰度、版本不匹配等问题。 什么是 ONNX? ONNX...
TorchScript 初窥 在长汀遛娃拍的反差照,一个好吃又好玩的县城,消费也不高~ TorchScript 是一种从 PyTorch 代码创建可序列化和可优化模型的解决方法,任何 TorchScript 程序都可以从 Python 进程中保存导出,并在非 Python 环境中加载。 PyTorch 官方提供了工具能将模型从纯 Python 程序转换为可以独立于 Python 运行的 TorchScri...
ARTS #220 | 古城一日游 漳州古城,建筑风貌完好,商业业态和古城结合的很好~ Algorithm 本周选择的算法题是:Split Linked List in Parts。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self....
ARTS #219 | 神兽回家 再一次,一个人坐飞机回来了~ Algorithm 本周选择的算法题是:Gray Code。 class Solution: def grayCode(self, n: int) -> List[int]: return [i ^ i >> 1 for i in range(1 << n)] 历史上用过的一种编码,是一...
Naive RAG and Advanced RAG 什么是 RAG 在业界提出 RAG 以前,我们使用 LLM 的方式是这样的: 为了获得更好的输出,可以搭配上思维框架,不仅能提升模型在理解、生成、推理等方面的能力,还能增强用户交互体验。 CoT 示例: # Chain-of-Thought(CoT)提示词 prompt = """ 你是一位商业分析师,正在帮助公司进入一个新市场。 请按照目标市场的地理位置和人口統计、市场需求和...
ARTS #218 | 又长了一岁 一个愉快而特别的日子,生日是一个反思过去、展望未来的好时机,希望在新的一年里能够实现自己的目标,收获更多的快乐~ Algorithm 本周选择的算法题是:2 Keys Keyboard。 class Solution: def minSteps(self, n: int) -> int: if n == 1: return 0 ...