大量研究表明,各種策略在流程最佳化中均有效。常見的比較通常是在「單因素實驗」(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 內建的期望函數來最大化期望值。這樣就能得到一個設置,即模型方程式認為能夠使 Y1 和 Y2 獲得最佳結果的 X1 到 X12 的組合。我們將這些因子方程式輸入回模擬器或實驗設計設備,運行驗證運行,並與 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 會議。我們無比感激。非常感謝!