博客

  • flux模型Flux.1 Schnell和Flux. 1 Dev 有什么区别?怎么选择?

    在 AI 成像领域,Flux.1 凭借其创建高分辨率和真实图像的能力,取得了一个有趣的开端。在本文中,我们将总结 Flux.1 Schnell 和 Flux.1 Dev 之间的区别,这被认为是非常适合普通用户并受到广泛关注的两个版本。

     

    Flux.1 Schnell

    对于 Flux.1 Schnell,“Schnell”是“fast”的德语翻译,这意味着此版本专为希望获得快速一致结果的用户而设计,强调更高的性能和处理速度。

     

    • 处理速度
      • Flux.1 Schnell 专注于减少创建图像所花费的时间。非常适合需要快速见效的任务。
    • 资源管理
      • 由于它注重速度,该模型具有高效的资源管理,从而降低了功耗和处理时间。
    • 质量下降
      • 对于更高的速度,有时图像的细节或复杂性可能会有所减少,但对于那些想要快速图像而不需要最大分辨率的人来说,这可以被认为是一种有价值的交换。

     

    Flux.1 Dev

    Flux.1 Dev “Dev”代表“Developer”,意思是开发人员,它被认为是为那些想要深入使用 AI 模型的人设计的,例如开发人员、研究人员或需要根据要求定制模型以达到特定要求的人。

     

    • 开发特点
      • Flux.1 Dev 附带特定于开发人员的工具和功能,这些工具和功能提供对内部参数配置、模型测试和深入结果分析的访问。
    • 灵活性
      • 此模型旨在允许用户自定义 AI 功能以满足其特定需求。它在测试和开发方面具有高度的灵活性,非常适合那些想要研究或开发新功能的人。
    • 具体用途
      • Flux.1 Dev 是那些想要以自己的方式创建和自定义模型的人的最佳工具,这使得创建最高质量的图像并满足特定要求成为可能。

     

    如何选择?

    • 尽管 Flux.1 Schnell 和 Flux.1 Dev 是相同的基本工具,每个版本的设计和用途使它们适用于不同的应用程序。
    • 如果您是想要快速创建图像并且不想复杂配置 Flux.1 的普通用户,那么理论上 Schnell 是最合适的选择。
    • 但是,如果您是需要深入使用 AI 并需要高度灵活的工具的研究人员或开发人员,那么 Flux.1 Dev 将是进一步研究和开发的响应速度最快的选择。

    实际情况下,Flux.1 Dev 几乎总是更好的选择。Flux.1 Schnell的唯一作用可能是让人关注这个细节。

     

     

    官方下载链接

    https://huggingface.co/black-forest-labs

     

     

     

  • 本地部署大模型时,怎么选择合适的版本?

    显卡

    以通义千问为例。

    1. Qwen2.5-7B
      • 参数量:70亿(7B)
      • 显存需求:大约需要8-12GB VRAM(具体取决于优化技术)
    2. Qwen2.5-14B
      • 参数量:140亿(14B)
      • 显存需求:大约需要16-24GB VRAM(具体取决于优化技术)
    3. Qwen2.5-32B
      • 参数量:320亿(32B)
      • 显存需求:大约需要32-48GB VRAM(具体取决于优化技术)

     

    因为我的显卡是16GB 显存,所以Qwen2.5-7B是一个合适的选择。一般对于同一个大模型,发布者会推出很多不同参数的版本,比如0.5B,1B,3B等等,大家可以根据自己的显卡配置进行选择

    • Qwen2.5-7B:可以在16GB VRAM的显卡上运行良好,不会出现显存不足的情况。
    • Qwen2.5-14B:虽然理论上可以在16GB VRAM的显卡上运行,但可能会遇到显存不足的问题,特别是在进行复杂的推理任务时。如果使用一些显存优化技术(如混合精度训练、分批加载等),可以勉强运行,但体验可能不佳。
    • Qwen2.5-32B:这个版本显然不适合16GB VRAM的显卡,因为显存需求远超显卡容量。

     

    计算公式

    显存需求 ≈ 参数数量 × 精度字节 × 1.2(中间变量开销)

    • 参数数量 :
      • 模型的参数规模(如7B表示70亿参数)。
    • 精度字节 :
      • FP32(单精度浮点):4字节/参数
      • FP16(半精度浮点):2字节/参数
      • Int8(8-bit量化):1字节/参数
      • 4-bit量化:0.5字节/参数

     

    • 示例计算:
      • Qwen2.5-7B(FP16): 7B × 2字节 × 1.2 ≈ 14GB
      • Qwen2.5-14B(4-bit量化): 14B × 0.5字节 × 1.2 ≈ 8.4GB

    机器内存和大模型文件大小

    大模型文件最好选用gguf格式文件。

    大部分本地部署大模型的软件在使用大模型时,一般是将大模型加载到内存里,所以本地机器的内存大小也是需要考虑的,如果16G内存的电脑,仅加载模型文件就需要使用好几G,会导致机器运行卡顿。

     

     

     

  • 袁行霈 – 中国文学史

    汉唐,  “上下千年,同此悲壮,万里征人,迄无还日”。

    李白, “发兴无端的澎湃激情和神奇想象,既有气势浩瀚、变幻莫测的壮观奇景,又有标举风神情韵而自然天成的明丽意境,美不胜收”。

  • 司命

    今天看到楚辞, 突然想到小时候奶奶经常说的”祭拜司命菩萨”, 这里的司命应该是灶王爷, 而屈原写的司命应该是楚国人信仰的神明.

     

    大司命
    广开兮天门,纷吾乘兮玄云。
    令飘风兮先驱,使涷雨兮洒尘。
    君回翔兮㠯下,逾空桑兮从女。
    纷总总兮九州,何寿夭兮在予。
    高飞兮安翔,乘清气兮御阴阳。
    吾与君兮齐速,导帝之兮九坑。
    灵衣兮被被,玉佩兮陆离。
    壹阴兮壹阳,众莫知兮余所为。
    折疏麻兮瑶华,将以遗兮离居。
    老冉冉兮既极,不寖近兮愈疏。
    乘龙兮辚辚,高驰兮冲天。
    结桂枝兮延伫,羌愈思兮愁人。
    愁人兮奈何,愿若今兮无亏。
    固人命兮有当,孰离合兮可为?

     

    少司命
    秋兰兮麋芜,罗生兮堂下。
    绿叶兮素华,芳菲菲兮袭予。
    夫人自有兮美子,荪何㠯兮愁苦?
    秋兰兮青青,绿叶兮紫茎。
    满堂兮美人,忽独与余兮目成。
    入不言兮出不辞,乘回风兮载云旗。
    悲莫悲兮生别离,乐莫乐兮新相知。
    荷衣兮蕙带,儵而来兮忽而逝。
    夕宿兮帝郊,君谁须兮云之际?
    与女沐兮咸池,晞女发兮阳之阿。
    望美人兮未来,临风怳兮浩歌。
    孔盖兮翠旍,登九天兮抚彗星。
    竦长剑兮拥幼艾,荪独宜兮为民正。

  • ControlNet With SDXL Model

    怎么选择模型?

    Canny models

    Use the Canny ControlNet to copy the composition of an image.

    The Canny preprocessor detects edges in the control image. The Canny control model then conditions the denoising process to generate images with those edges.

    diffusers_xl_canny_full  (推荐, 速度比较慢, 但效果最好.)
    diffusers_xl_canny_mid
    diffusers_xl_canny_small
    kohya_controllllite_xl_canny_anime
    kohya_controllllite_xl_canny
    sai_xl_canny_128lora
    sai_xl_canny_256lora
    t2i-adapter_xl_canny
    t2i-adapter_diffusers_xl_canny

    Use diffusers_xl_canny_full if you are okay with its large size and lower speed.

    Use kohya_controllllite_xl_canny if you need a small and faster model and can accept a slight change in style.

    Use sai_xl_canny_128lora for a reasonable file size while changing the style less.

    The control weight parameter is critical to generating good images. Most models need it to be lower than 1.

     

    Depth models

    Use the ControlNet Depth model to copy the composition of an image. The usage is similar to Canny but the result is different.

    Here are the depth models we are going to study.

    • diffusers_xl_depth_full
    • diffusers_xl_depth_mid
    • diffusers_xl_depth_small
    • kohya_controllllite_xl_depth_anime
    • kohya_controllllite_xl_depth
    • sai_xl_depth_128lora
    • sai_xl_depth_256lora
    • sargezt_xl_depth
    • sargezt_xl_depth_faid_vidit
    • sargezt_xl_depth_zeed
    • t2i-adapter_diffusers_xl_depth_midas
    • t2i-adapter_diffusers_xl_depth_zoe

    A depth control model uses a depth map  to condition a Stable Diffusion model to generate an image that follows the depth information.A depth map can be extracted from an image using a preprocessor or created from scratch.

    diffusers_xl_depthsai_xl_depth, and t2i-adapter_diffusers_xl_depth models perform well despite their size differences. All are safe choices.

     

     

    Recolor models

    Use the recolor models to color an back-and-white photo.

    • sai_xl_recolor_128lora
    • sai_xl_recolor_256lora

    Both the 128 and 256 Recolor Control-Lora work well.

    Use the recolor_luminance preprocessor because it produces a brighter image matching human perception.

    Be careful in crafting the prompt and the negative prompt. It can have a big effect on recoloring. Use these SDXL style prompts as your starting point.

    You don’t need to use a refiner.

     

     

    Blur models

    Use the Blur model to recover a blurry image.

    • kohya_controllllite_xl_blur_anime
    • kohya_controllllite_xl_blur

    Alternatively, you can use blur_gaussian preprocessor to blur a clear image for testing.

    Of course, some image details are lost in the blur, so you should not expect to recover the same image.

     

     

    IP-adapter

    The Image Prompt Adapter (IP-adapter) lets you use an image prompt like MidJourney. Let’s use the original example from the ControlNet extension to illustrate what it does.

     

     

    OpenPose models

    The OpenPose ControlNet model is for copying a human pose but the outfit, background and anything else.

    Here are the OpenPose models available.

    • kohya_controllllite_xl_openpose_anime
    • kohya_controllllite_xl_openpose_anime_v2
    • t2i-adapter_xl_openpose
    • t2i-adapter_diffusers_xl_openpose
    • thibaud_xl_openpose
    • thibaud_xl_openpose_256lora

     

    [Major Update] sd-webui-controlnet 1.1.400 – Official writeup of SDXL ControlNet models for WebUI.

    Stabilityai/control-lora – An overview of Stability AI’s Control LoRA models.

    kohya-ss/controlnet-lllite – Model Card of ControlNet-LLLite.

    tencent-ailab/IP-Adapter – GitHub page of the Image Prompt adapter.

  • Stable Diffusion WebUI 中采样方法(Sampling methods)详解

    在 Stable Diffusion WebUI 中,这些采样方法(Sampling methods)代表了不同的算法和技术,用于在稳定扩散模型中进行采样。下面是对这些采样方法的简要说明:

    1. Euler:使用欧拉方法进行采样,它是一种简单的数值积分方法,适用于简单的扩散模型,但可能不够准确。

    2. LMS:代表最小均方(Least Mean Square)方法,它是一种迭代算法,通过根据观测误差来调整模型参数,以逐步提高采样准确性。

    3. Heun:使用Heun方法进行采样,也称为改进的欧拉方法,它在欧拉方法的基础上进行了改进,提供了更准确的数值积分结果。

    4. DPM2:代表动态粒子扩散模型(Dynamic Particle Model 2),是一种基于粒子的采样方法,通过在扩散模型中移动粒子来进行采样。

    5. DPM++2S a:DPM++2S a是DPM++2S方法的改进版本,它可能在采样效果上有所改善。

    6. DPM++2M:DPM++2M是DPM++2S方法的另一个改进版本,它可能在采样效果上有所改善。

    7. DPM++SDE:DPM++SDE代表DPM++稳定扩散估计器,采用稳定性差分方程(Stabilized Differential Equation)方法进行采样。

    8. DPM++2M SDE:DPM++2M SDE是DPM++2M方法与稳定性差分方程(Stabilized Differential Equation)方法的结合,可能提供更准确的采样结果。

    9. DPM fast:DPM fast是DPM方法的一种快速版本,它在时间效率上进行了优化,可能会比其他方法更快,但可能损失一些采样准确性。

    10. DPM adaptive:DPM adaptive是DPM方法的一种自适应版本,它根据模型的情况自动调整采样策略,以提供更准确的采样结果。

    11. LMS Karras:LMS Karras是LMS方法的Karras改进版本,可能在采样效果上有所改善。

    12. DPM2 Karras:DPM2 Karras是DPM2方法的Karras改进版本,可能在采样效果上有所改善。

    13. DPM2 a Karras:DPM2 a Karras是DPM2 a方法的Karras改进版本,可能在采样效果上有所改善。

    14. DPM++2S a Karras:DPM++2S a Karras是DPM++2S a方法的Karras改进版本,可能在采样效果上有所改善。

    15. DPM++2M Karras:DPM++2M Karras是DPM++2M方法的Karras改进版本,可能在采样效果上有所改善。

    16. DPM++SDE Karras:DPM++SDE Karras是DPM++SDE方法的Karras改进版本,可能在采样效果上有所改善。

    17. DPM++2M SDE Karras:DPM++2M SDE Karras是DPM++2M SDE方法的Karras改进版本,可能在采样效果上有所改善。

    18. DDIM:代表可微分扩散不变量采样方法(Differentiable Diffusion Invariant Moment),是一种基于扩散不变量的采样方法,可以提供更精确的采样结果。

    19. PLMS:代表部分最小均方(Partial Least Mean Square)方法,它是一种迭代算法,类似于LMS方法,但在计算上更高效。

    20. UniPC:代表统一粒子扩散模型(Unified Particle Model),是一种基于粒子的采样方法,适用于多种扩散模型。

    要选择合适的采样方法,需要考虑模型的复杂性、准确性要求和计算资源等因素。通常,更复杂的模型可能需要更精确的采样方法,而对于简单模型,一些快速的方法可能已经足够。此外,还可以根据对采样结果的评估和比较来选择最适合的方法。

  • 智能进化

    学习模型

    何为学习?

    学习的定义

    狭义的学习

    通过有限的例子,发现问题和答案之间规律的过程。

    • 学习更接近计算过程, 或者计算能力。
    • 良好的记忆力有助于学习,但记忆不是学习。

    广义的学习

    学习是指由经验引起的个体知识或行为的相对持久的变化。

    神经科学层面的学习

    神经细胞群之间形成的特定结构。包括突触、神经递质、离子通道等。

    学习对象的类型

    学习的对象即知识。

    变量少的知识

    可通过记忆来掌握。

    • 多场景
    • 高频次
    • 复习

    变量多的知识

     

    思考累

    必须通过学习来掌握。

    如何学习?

    明确问题(输入)

    使用知识构建实例(加工处理)

    明确答案(输出)

     

     

     

     

    如何应用?

     

     

     

    思维模型

    毛泽东思想

     

    博弈论

     

    纳什均衡

     

    概率和统计

     

    逻辑学

     

    神经科学

     

     

     

  • 如何认识我自己?我是一个什么样的人?我想要什么?

    很明显这是一个非常重大和复杂的命题,我将长期持续地来完善和回答它。

    在2023年3月份尝试观察自己的时候,突然意识到自身在某些事物的选择上,与之前相比有了非常有意思的转变,其中之一是对于餐厅和食物的选择。之前我可以在一个月工作日的中餐时都吃同一家沙拉,或者连续一周甚至十几天吃另外一种相同的食物,而且并不觉得乏味或者难吃,而现在会更倾向尝试不同的食物,我仔细想过这种转变背后深层次的原因。

    首先是来自一位INTJ好友的影响,他是一个家教非常好,为人十分冰冷,很聪明,逻辑性强,但很难人情世故规则的人。他的逻辑是:人体需要不同的影响物质,多元的食物摄入,能更好地满足生命体的需求,除此之外,探索和尝试不同口味的食物是一件有意思的事情,即使它口味并不好。

    然后我想我之前之所以倾向选择相同的、确定的、无变数的食物,主要是因为对未知事物潜在风险的担忧和回避。已验证的可能是不是最好,但也还行,最重要的是这是稳定可控、可预期的。未经验证的可能更好,甚至更好,但也可能更差。关于这一点,它没有标准答案,因为有一个显而易见的事实,大家承担风险的能力各不相同。如果是可以承受的风险,选择的时候可以开放一些。

    其次是自身心态和观念的变化,不预设,不要有倾向,降低期待甚至不要有期待。不用预设某个未经验证的食物会很难吃,不要根据自己的主观经验或者思维定势看来判断,也不要期待它会很美味。

    最后我希望自己思想上变得开放,摒弃狭隘和封闭。人自出生起,是一个不断探索和延伸空间、时间、思想的过程。去更多的地方,去认识更多的人,去读更多的书,去经历更多的事情,让神经元之间建立更多的连接,最后建立更多有价值的框架和模型。

     

  • 我们有选择吗?又该怎样作出选择?

    我们有选择吗?

    我们并非没有选择。我们每时每刻都在作出选择。

    早上闹钟响起, 你可以选择立即起床,可以选择再睡十分钟,还可以选择继续睡到你不再想睡觉的时候。

    白天时间,你可以选择看书学习,可以选择沉默发呆,可以选择和人聊天沟通,可以选择外出活动。

    吃饭的时候,你可以选择自己做饭,可以选择和朋友吃饭聊天,可以选择不吃,还可以选择外卖。

    夜晚来临,你可以选择按时睡觉,可以选择熬夜,也可以选择放飞思绪。

    在思考问题时,你可以选择突破脑力困境,让你的神经突触传递到更多的神经元,为你解决问题创造更多的可能性;那也可以选择就此打住,让神经突触和神经元保持静止;你还可以选择逃避,对当前遇到的问题视而不见。

     

    权力意志希望我们作出什么样的选择?

     

     

     

    我们自己应该作出什么样的选择?

     

  • 如何发展出一段良好的关系?

    你应该要想明白一点,至少你期望的是符合大众认知的相对良性的两性关系内,你就需要明一点: “只需要在不给予对方任何道德心理胁迫和压力的情况下,真实展现表达你对对方的态度。”剩下的不需要考虑太多,只要你能真实践行这一点。接下来讲一讲其中简单的逻辑关系。

    第一层:如果对方对你有意思, 对方如果感受到你对对方有意思, 这自然是极好的。

    第二层:如果对方对你没有意思,对方如果感受到你对对方有意思,你不会有任何损失。你的害怕和焦虑源自于你自己给这段关系设定了一个结果并认为可能不能达成,或者说是对结果不确定的失控感,你损失的是自限条件下的情绪价值, 你失去的是你本来就不曾拥有的东西。但两害权衡,如果不表达,达成你预期结果的可能性要较表达实际上更小。

    第三层:如果你把尺度拉长到半年一年,或是数年数十年,正式确定关系只是一个非常非常微不足道的开始。你如果认为你需要通过一些特殊的方法来伪装或是一些计谋来实现这个开始,实际上相当于贷款买了一辆和自己需求不符的车,你只考虑购买,并没有考虑持有成本和用车体验,这是一种消耗行为,而不是升值操作,这必然会导致日后的相处出现问题。实际上也是一种不负责任。而对于一个有血有肉有感情且偏爱的人,你要真实,要有责任感,这样对两个人都好。