大量研究表明,各种策略在流程优化中均有效。常见的比较通常是在“单因素实验”(OFAT)和“实验设计”方法之间进行。当面对不熟悉的高维流程空间(例如,超过10个因素)时,研究人员往往会采用OFAT方法,因为该方法易于解释。通常情况下,为了评估哪种策略优于其他策略,开展多个针对同一目标的实验成本高昂且操作难度大。为了规避这些问题,我们使用了一个包含12个未知连续和分类因素的聚合酶链式反应(PCR)模拟器来探索这些问题。
我们的团队拥有数十年的电子材料行业工艺优化经验(成员曾就职于苹果公司等企业)。我们特意寻找并选择了一款来自我们完全陌生的研究领域的模拟器,该模拟器能够模拟大量因素及其对多种响应的复杂交互作用。为了实现实验自动化,我们使用了一个Python Web自动化脚本。通过使用模拟器和我们的脚本,我们可以运行大量实验,同时模拟我们在职业生涯中所遇到的实际约束和实验预算。在遵守运行预算规则的前提下,我们比较了四种策略的效率和准确性:两种是行业常用的OFAT类型策略,另外两种分别来自DOE和高级DOE。所有实验分析和建模均使用JMP软件完成,我们力求客观地比较这些策略。
大家好,欢迎参加本次关于“比较优化策略和复杂多维过程”的网络研讨会。我是 Asit Rairkar,我的合作者是 Jeffrey Kelly。本次研讨会将在 2024 年 10 月举行的 JMP Discovery USA 大会上进行。以下是我们的演讲大纲。我们将首先进行自我介绍,然后探讨我们开展这项工作的动机和方法。我们将简要介绍我们为四种过程优化方法选择的方法论和背景。最后,我们将展示我们的研究成果,并提出讨论和未来工作的建议。我们更希望大家与我们畅所欲言,探讨我们还可以在此领域开展哪些工作。
再次自我介绍,我叫阿西特·雷尔卡 (Asit Rairkar)。我是萨玛萨咨询公司 (Samaasa Consulting) 的总裁,该公司是 JMP 的合作伙伴,提供 JMP 和流程优化方面的培训和咨询服务。我曾在旧金山湾区的苹果公司工作近二十年,并在苹果、应用材料公司 (Applied Materials)、太阳能初创公司 Miasolé 以及后来被 LAM Research 收购的 Novellus 公司担任过领导职务。我的工作涉及电池、光伏和半导体领域的工艺和产品开发,主要集中在薄膜和电子材料领域。二十多年来,我一直是 JMP/DOE 的积极倡导者。我对 DOE 的热爱始于在亚利桑那州立大学攻读博士学位期间,师从蒙哥马利博士 (Dr. Montgomery) 学习 DOE 课程。蒙哥马利博士撰写了该领域的经典技术著作。我们非常欢迎您与我们联系。我们的 LinkedIn 个人资料链接在此,我的邮箱地址是 asit@samaasa.com。我们非常欢迎您提出批评、评论、建议、改进意见,或者就此话题或您想与我们讨论的任何其他话题展开讨论。
接下来,就让杰夫自我介绍一下吧。
我叫杰夫·凯利。我的专业背景是工艺工程、电池和半导体,主要专注于薄膜工艺。我曾在Switchback Systems、苹果公司、一家名为IPS的小型电池公司以及位于爱达荷州博伊西的美光科技公司工作过,我的职业生涯始于美光科技的半导体部门。正是在那里,我开始使用JMP进行DOE和其他分析。我使用JMP已经有大约20年了。我记得我的第一个许可证应该是JMP 4的。回到Asit,开始今天的演讲。
谢谢。我们都在苹果公司工作,认识已经十年了,我们曾就许多类似以及其他话题进行过合作和讨论。我们很高兴能再次一起合作。
我们这次演讲的动机很简单。这是一个老生常谈的话题,已经被讨论过很多次了,但我们仍然会遇到一些客户和团队,无论他们身处大公司还是小公司,仍然希望每次只做一项实验,尤其是在处理大量因素、复杂的流程空间时,他们发现每次只做一项实验更容易解释和执行。另一个原因是,OFAT 与 DOE 的比较通常只针对少量因素进行。要针对大量因素进行这种比较和展示就非常困难了。此外,OFAT 和 DOE 的各种变体也并不多见。最后,也是最重要的原因,这是我职业生涯中一直想做的比较。但你可以想象,如果我问任何一家公司的管理团队:“嘿,你们能不能给我四倍的预算,用四种不同的方法来解决同一个不同的问题,纯粹是为了学术研究?”,肯定没人会同意。
我们确实想对单因素实验法 (OFAT) 和现代实验设计法 (DOE) 进行客观比较,尤其是在处理像右图所示的复杂非单调过程时,因为其中包含许多复杂的波峰和波谷。正因如此,如果领域专家告诉你这个过程可能像这样,工程师和科学家就会对 DOE 心存疑虑,转而采用单因素实验法,并且非常谨慎。这就是我们的动机。接下来,我将把话筒交给 Jeff,让他解释我们的方法并介绍我们的 OFAT 方法,然后我将接手 DOE 的讲解。谢谢。
由于实际操作成本过高,我们显然需要一个模拟器,最终在网上找到了这款PCR模拟器。它是基于网页的,我们可以用它来比较我们用于DOE的四种策略。它接受11个连续变量和一个分类因子。抱歉,是11个连续因子,1个分类因子,然后它会生成两个连续响应。对我们来说,这完全是个黑箱。我们并非PCR领域的专家,不了解这项技术,甚至对背后的化学原理也知之甚少。这给了我们一个很好的机会,让我们在DOE中严格遵守规则,在输入数据以获得所需响应时,避免随意更改参数。此外,我们还编写了输入和输出的代码。在JMP中进行分析则更像一个黑箱,它能提供我们想要的结果,也就是我们用来比较不同DOE策略的测试结果。要知道,在实际操作中,如果你对想要进行测试的任何领域都具备专业知识,那将是一件非常有利的事情。
它提供了许多指导和实验设计方面的帮助,能够帮助你做出更好的决策。但就此而言,我认为它提供了一个很好的对比。下一张幻灯片。
我们想指出,这种情况在现实世界中是如何重现的,以及我们的模拟器是如何反映或反驳这种现实的。我们选择模拟器的主要原因之一是现实世界中有限的运行次数。如果像我们的模拟器一样,对 12 个因素进行全因子设计,则需要运行超过 4000 次。显然,即使是模拟器,通过自动化运行也很难做到这一点,需要很长时间。但我们将实验实现限制为每种 DOE 类型 30 次运行。这反映了现实世界中的运行次数限制。我们遇到的另一个现实世界场景是,在工艺领域,工程师有时会避免或预先处理分类因素,例如,在优化某种化学品之前,可能会先选择该化学品的制造商。有些人会避免这些因素,因为这似乎会使 DOE 在很多方面变得复杂。在这种情况下,对于我们的单因素实验设计(OFAT),我们每次只选择一种因素,并预先运行这些因素。
OFAT 设计的另一个特点是,输入参数的顺序是任意的,所以我们选择了分类因子。在实际应用中,还存在一些因子约束。这些约束存在于工艺流程、设备、底物、反应容器尺寸等因素中。在我们的模拟器中,这些约束由模拟器本身设定。它们与 PCR 反应体系中化学物质的体积有关,通过一些实验,我们找到了因子约束的方程。这限制了我们可以使用的参数范围,也就是输入参数的范围。
我们在实际工作中经常会遇到实验时间和计量之间的权衡问题。运行一个实验可能需要一小时或一天,而根据送检实验室的优先级,计量可能需要一周时间。使用模拟器则不同。它能立即给出结果,然后我们几乎可以立即在 JMP 中分析这些数据。这样一来,整个过程就快了很多。当然,反过来也可能成立,所以这些都是我们考虑过的因素。
运行失败。在现实世界中,运行失败是不可避免的。运行失败或错过的情况时有发生。可能是停电,也可能是设备停机。技术人员休假期间可能会出错。现实世界中任何事情都可能发生。在这种情况下,对于错过的实验,或者任何遗漏,我们能够利用自动化进行弥补。这一点在下一点中会提到,即我们使用了配方管理。在现实世界中,您可能可以使用配方管理,也可能没有。理想情况下,您应该拥有一个系统,您可以输入数值,这些数值将直接下载到机器上,并按照您编写的程序运行实验。在我们的案例中,我们使用名为 Selenium 的平台,通过 Python 脚本模拟了这一过程,并自动化了所有输入。这模拟了我们所需的配方管理。在现实世界中,您还可能遇到影响设备性能的极端设置。例如,在点阵仪系统的电源上,如果您同时使用最高和最低设置,就会影响实验结果。
这样不会得到理想的性能。在对这类系统以及许多其他系统进行测试时,我们会避开工艺设备的上下限。我们的模拟系统也避免了这种情况,附录幻灯片中也出于类似原因给出了相关的限制条件。
此外,现实世界中也存在噪声问题。任何因素,例如人、机器、方法等,都可能给任何流程系统带来噪声。模拟器本身就内置了噪声。在程序编写过程中,我们发现即使输入因素相同,输出的空气或噪声比例也很小。我们也亲身体验到了这一点。下一页。
我们采用了四种不同的实验设计。第一种是单因素实验设计(OFAT2),即顺序单因素实验设计。我们运行了不同的设置,每次只改变一个因素。第二种是单因素实验设计(OFAT2),即单因素实验设计(OFAT2)。我们将因素组合分组,然后在最后使用新的基线进行优化。DSD 是确定性筛选设计和空间填充设计。
我们将介绍 OFAT1,并对其进行更详细的讲解。正如我所说,我们每次只调整一个参数,并将每个参数设置为该设置下的最佳值,然后重复相同的策略。如果您查看右侧,会看到一个表格。这是一个我们构建的假设实验。这些并非实际结果,纯粹是假设。在第一个实验中,我们首先观察 X4 的值。我们观察 X4,并将 L1 和 L2 进行比较,发现 L1 的值更高。我们正在优化 Y 值。我们将 L1 的值应用到 X1 的加减值比较中,得到最佳设置 110,并将 X1 设置为正值,X4 设置为 L1。接下来,我们观察 X2,并比较其加减值。有趣的是,X2 的最佳设置恰好是零值,而我们在之前的比较中已经运行过零值,所以是 110。
我们将 X2 设置为 0,比较 X3 的正负值,发现 X3 的负值在最优状态下为 115。将所有参数设置为 115 进行新的基线验证运行,得到输出 120,这是我们此次运行的最高最优值。
接下来进行 OFAT 2。方法类似,我们每次只处理一个因素,但这次要将它们分组。我们围绕中心基线逐个调整因素,并将子组的因素设置为最优值,从而创建一个新的基线,然后对下一个子组中的其他组重复相同的策略。如果您查看右侧的图表,正如我所说,这是另一个假设实验,我们将考察第一组中的 X1 和 X4。但我们先从 X4 开始。将 L1 和 L2 视为 X4 的分类因素。得到最高值 105,然后重置为 X1 正负值比较的基线,并找到其负值最优值。我们使用 X1 和 X4 的负值和 L2 建立新的基线。测试该基线,得到输出 108。这就是我们的新基线。然后我们继续测试下一个子组,比较 X2 的正负值。
我们得到的最佳值是 115。重置为基线,运行 X3 进行正负值对比,得到的最佳值是 114。目前,X2 和 X3 均为正值,作为每个因素的最佳值。我们将此值作为新的基线,所有因素的最佳和首选设置是负-正-正-L2,输出的最佳值为 125。然后,就像我之前说的,接下来你要做的就是完成屏幕设计和 SFD。
谢谢杰夫。这些是我们每次只处理一个因素的方法,我们俩在职业生涯中都遇到过这种情况,也见过其他团队使用这种方法。我们还使用了现代的实验设计(DOE)。我们采用了两种方法,一种是确定性筛选设计……确定性筛选设计是饱和设计的改进版,由JMP母公司SAS的Bradley Jones于2011年提出。与Plackett-Burman等经典饱和设计相比,确定性筛选设计在精简成本的情况下却非常强大。它用途广泛,尤其适用于大量因素和混合因素(连续型和分类型)。其最大的优势在于能够提取主效应而不混淆因素,即使在实验预算有限的情况下,也有可能提取一些双因素交互作用和二阶曲率。当与学科专业知识相结合时,确定性筛选设计尤其强大,因为你知道哪些因素会产生二次或双因素交互作用,就可以对它们进行优先级排序。它们也适用于顺序实验,您可以先读取不重要的因素,然后进行更多实验,以进一步优化您的流程。
我们也尝试了空间填充设计,这也是一种较新的设计。需要说明的是,本次演讲只有30分钟,所以我们没有时间详细讲解DSD和空间填充设计的设置方法、底层工作原理以及深入分析。我们录制了一个演示视频,可以在我们的网站上找到,其中详细介绍了如何设置这些设计,以及如何使用虚拟PCR模拟器运行实验。我们还展示了如何获取数据以及进行分析。此外,community.jmp.com网站上也提供了大量关于DSD和SFD工作原理的网页和视频。如果您对此有任何疑问,或者想进行讨论、提出批评或反馈,请随时联系我们,我们非常乐意与您交流。再次强调,DSD和SFD的演示视频都可以在我们的网站上找到,点击此链接即可观看。进入空间填充设计,这是一类特殊的设计,其中计算机算法基本上在 12 因子超参数空间中创建点,并且这些点以伪随机的方式分散,使得每个点都尽可能地远离其他点,从而填充整个空间。
它们解释和理解起来有点复杂,这也是大多数人避免使用空间填充设计的原因。但是,结合现代分析方法和建模技术,例如神经网络和机器学习,它们的功能非常强大。空间填充设计的一个缺点是,如果没有配方管理软件,执行起来会极其复杂。例如,如果你的实验设计团队和实验执行团队不是同一团队,他们可能会对分散的设计点矩阵感到非常困惑,可能会输入错误的值,也可能忘记删除之前实验运行中因子组合设置的值,这些值会被带入到下一次实验中,导致出现设计矩阵中未预期的运行结果。因此,如果你要运行空间填充设计,强烈建议使用配方管理软件。以上就是我们比较的两种DOE类型和两种OFAT类型。接下来,我将把时间交给Jeff,让他来讨论我们的原始结果。以下是原始结果。
我认为有趣的地方就在这里。但是我们……在右侧的图表中,我们比较了左侧的两个单因素实验(OFAT)方法(红色和蓝色)与右侧的两个DOE方法(紫色和绿色),这两个DOE方法更现代一些。图表的X轴(底部)代表运行次数,Y轴代表响应值Y1和Y2,也就是我们优化的目标值。快速观察一下,我们可以看到,随着运行次数的增加,两个OFAT方法的结果都趋于增加,因为我们将优化值传递到了下一次运行中。我们看到输出值或期望的最优值有所增加。我们将其与DOE方法进行了比较,我认为有趣的是,DOE方法的结果看起来相当混乱,我们似乎没有取得任何进展,即使我们得到了一些更高的值,看起来也没有进行多少学习。
这种情况就是,如果一位高管在实验进行到一半时想要查看一些结果以便做出决策,那么他们肯定不会对实验设计(DOE)的结果感到满意。DOE 的结果看起来会相当混乱,而单因素实验(OFAT)虽然没有达到最优值,但他们至少能看到进展。我认为 DOE 的最大优势在于,它能让我们真正深入了解流程的运行机制。我们可以基于此构建模型。OFAT 无法做到这一点,它只是运行到最优值,然后设定参数。而 DOE 则能提供模型和数学方程。你可以输入想要的值来设计最优值,并了解当前所处的位置。它让我们能够更深入地了解更复杂的流程空间,并更透彻地理解实际发生的情况。
接下来,我们将直接进入DSD的结果分析。再次说明,我们没有时间完整演示DSD和SFD,相关演示视频已录制并上传至我们的网站,方便您观看。正如Jeff所说,DSD的优势在于它能为整个过程空间建立一个模型方程,从而帮助您更好地理解过程空间的实际运作方式。使用JMP进行DSD设计可以生成一个自动化的分析脚本,您只需输入数据,即可像演示中那样点击运行该脚本。在第一阶段,DSD会剔除所有不重要的主效应。在本例中,可以看到Y1中X1、X3和X4被剔除,其他一些因素也被剔除;而Y2中X3和X4被剔除。
您还可以看到,DSD 会生成一个分析器,它类似于一个预测方程,可以估计 Y1 的主效应,以及一些主效应(如您所见),还有一些因子(尤其是 X2)的二次效应。您会得到一个模型方程,一个简化的模型方程,它剔除了不显著的效应,只保留了显著效应及其主效应、一些双因子交互作用以及一些二阶曲率。然后,您可以将此方程与内置的期望函数一起使用,并最大化期望值,从而将 Y1 和 Y2 的预测输出提升到您想要的水平。在本例中,我们希望最大化 Y1 和 Y2,并赋予 Y1 更高的权重。因此,DSD 建模器会提供一组因子设置,模型方程认为这些设置能够使 Y1 和 Y2 的结果达到最佳。我们在第一轮实验中使用这些设置,返回到模拟器并运行验证实验。此外,在未来的工作中,我们将基于序贯实验进行进一步优化。
SFD 也是如此。正如我所说,SFD 的设计很复杂,其数据点分散在整个 12 个参数的超参数空间中。JMP 内置了一个脚本来分析模型。此外,我们的网站上也提供了演示。您可以查看 DOE 的设置、数据的收集和分析方法。演示并未深入探讨 DSD 和 SFD 的内部工作原理。如果您需要讨论这方面的内容,请与我们联系。JMP 内置了一个脚本。您可以运行该脚本,SFD 高斯过程模型会在 12 个参数中生成一个非常复杂的非单调过程轮廓曲面。您可以看到,某些因素似乎对 Y1 和 Y2 的响应没有显著影响,但 SFD 能够生成一个非单调的预测轮廓,并解释一些简单的 DSD 无法解释的波峰和波谷。 SFD 模型更倾向于预测而非解释,因为它不太强调主效应或二次效应是什么。
它会生成一个包含 12 个参数的预测方程,您可以使用 JMP 内置的期望函数来最大化期望值。这样就能得到一个设置,即 X1 到 X12 的一组组合,模型方程认为该组合能使 Y1 和 Y2 的结果达到最佳。我们将这些因子方程输入回模拟器或实验设计设备,运行验证运行,并与 DOE 和彼此之间或 OFAT 和彼此之间进行比较。
这就是我们所做的。我们采用了四种方法,并对最终预测的单因素实验测试(OFAT)结果或预测的最佳期望值Y1和Y2进行了三次验证。正如我所说,我们略微将Y1视为比Y2更重要,仅供参考。您可以看到,左侧的两个OFAT只能将Y1最大化到100-250的范围,Y2最大化到97-98的范围。而DOE能够找到更好的工艺优化方案,将Y1提升到350以上,Y2提升到接近99的范围。您还可以看到,噪声中也存在一些固有的变异性。再次强调,这是一个众所周知的结论,DOE专家们一直认为,即使在有很多因素和非常复杂的工艺空间的情况下,DOE在处理工艺优化问题方面也比OFAT更有效率,尽管有人对此反复质疑。
但DOE的三大主要优势在于:首先,它们可以提供过程空间的预测方程或模型。当与专业知识相结合时,它们的作用更加强大,因为您可以利用专业知识来指导实验设计,然后利用专业知识的输出结果。您可以将DOE的输出分析与您的专业知识相结合,从而真正理解科学原理,了解过程系统的内部运作机制,甚至设计出更好的实验并进行进一步优化。其次,与OFAT相比,DOE更便于后续实验。因为在OFAT中,您每次只能调整一个因素,逐步改进,这可能无法提供最佳信号,也绝对无法让您全面了解过程空间的全貌。综上所述,我们得出结论:DOE优于OFAT。这并非一个新结论,尤其对于更广泛的JMP社区,特别是DOE专家和JMP推广者而言。
但我们针对的是一个复杂的 12 因素系统,并且我们通过四种不同的方法进行了全面分析。
我对这些结果非常满意,我们很乐意就此展开进一步讨论,这也引出了我们未来的工作方向。再次强调,这只是我们提出的几点建议,但我们非常希望听到大家的意见。请给我们写信,提出批评、反馈、评论、建议和讨论。如果我们继续这项工作,并且有足够的资源,我们希望扩大运行预算,进行更多轮次的30次运行,这通常是我们公司历史上常见的运行次数。我们还将根据流程模型的指导扩展因子设置,并改进设计,增加运行次数,以解耦某些交互作用,甚至进一步优化。我们将采用更多分析方法。我们可以使用神经网络、自验证集成模型和贝叶斯优化,尤其是后者,我们不太熟悉。所以,我们也是这方面的学生。我们很乐意从这个案例中学习。我们也希望开发更多模拟器。模拟器对学习者来说非常有利,因为实验预算并非总是唾手可得。
最后,我们希望将 Python 脚本直接集成到 JMP 中,以便课堂或学生可以直接设计 DOE(实验设计),将其导入仿真器自动化运行,快速获取数据,并当场分析和比较优化策略。这只是未来工作讨论的一个方向。我们期待您的反馈。您可以通过 LinkedIn 联系我们,或发送邮件至 asit@samaasa.com。
在此,我们衷心感谢所有参与这项工作的人员。特别感谢 Phelan & Associates 开发了虚拟 PCR 模拟器。他们的参考文献已列入我们的参考文献列表。我们曾尝试联系他们,但未能成功。如有任何合作机会,欢迎与我们联系。感谢 Jackie 和 Kirsten 促成此次录制。感谢 JMP 社区全体成员筹办 JMP 会议。我们无比感激。非常感谢!