雖然我的電腦已經配備 Nvidia RTX 4090,但是要運行完整的 Mixtral 8x7B 依然費力。在我攢夠資本購買 Mac Studio 來運行之前,只能嘗試使用 GPU + CPU 混合運作的模式來進行 inference。

比較一下 Mixtral 跟 GPT-4:

ExpertsParameter
GPT-416166B
Mixtral87B

最簡單執行的方式是 Ollama。在 Linux 上,模型會被存入 ~/.cache/huggingface/hub,方便與其他程式復用。若要呼叫,可以通過傳送 OpenAI API 相容的格式呼叫 localhost:11434。不過,因為模型載入 GPU 需要比較久的時間,打算使用 LangChain 之類的工具最好是先啟用交互介面讓它預載入。

測試了一下,下面是它寫的、帶有快取的 Fibonacci 函數

import functools
 
@functools.lru_cache(maxsize=None)
def fibonacci(n):
    if n < 0:
        raise ValueError("Input must be a non-negative integer.")
    if n == 0 or n == 1:
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)

接上 Open Interpreter

Mixtral 8x7B 理論的 content window 是 32K。在執行 open interpreter 時,需要額外指定模型來啟用:

interpreter -m mixtral -c 3072

-m 指定模型,-c 指定 content window size。越大表現能力越好,速度越慢。