- 博客(6)
- 收藏
- 关注
原创 大数据学习-分桶键选择
综上,一个好的分桶键应选择基数高、分布均匀、长度固定且不易变化的属性。选择合适的分桶键是设计一个高性能、高可扩展的分布式系统的基础。不易变化:分桶键的值在数据生命周期内基本不变,可以最大限度利用已有的缓存 Entry。无相关性:分桶键的值和实际缓存值没有明显的相关性,可以在缓存节点之间隐藏更多信息。高基数:分桶键的取值越多,分到同一个桶的概率越小,数据分布越均匀。这可以提高缓存的命中率和扩展性。固定长度:分桶键的取值长度固定,可以方便计算桶号。分桶键的选择是设计分布式缓存或数据库的关键。
2023-06-06 21:23:30
355
1
原创 提示指南(1)- Prompt engineer for dev 第一章
在大型语言模型开发中,主要分为两种类型的LLM(large language model)。分别是 base LLM和instruction tuned LLM(指令调整LLM),下文会着重后者进行指令表达的学习。指令调整LLM基于在被大量文本训练过的base LLM,使用输入输出的指令来进行调整。同时使用RLHF(人类反馈强化学习)进一步优化,让模型更好得遵循指令。
2023-05-11 20:04:02
173
原创 ThreadpoolExecutor处理task执行异常
日常开发中使用线程池时,发现线程池里的任务异常中断/失败是不会打印错误信息的,导致结果异常还不知道发生什么。线程池提交作业后,worker不会主动抛出异常。需要通过future对象的。任务提交完后,得到future对象列表/字典。是否为空判断该任务是否有异常信息。遍历线程池中完成的task。线程的执行结果是否异常。遍历完成的task也就是。遍历完成的task也就是。方法提交任务后后返回。
2023-04-04 22:51:53
1197
1
原创 python学习日志-线程池
Python 线程池学习什么是线程池一个线程的生命周期为开启,运行,销毁。其中,开启和销毁线程都需要消耗性能,花费时间。当进行多线程操作时,如果线程不被复用,每次创建线程都意味着要执行整个生命周期,系统开销也随之提高,性能也会下降。因此使用线程池,将预先创建好的线程放进线程池中,同时处理完当前任务后不销毁,处理下一个任务。避免多次创建线程,带来不必要的系统开销。实现原理创建任务队列,开启多个线程,让每个线程监听队列任务并执行完通知拿下一个任务,直到队列中的任务被取空,然后退出线程。应用实例
2022-11-07 09:29:42
1376
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人