你好,我是新LLM,我想試一試。我做了下麵的代碼來測試從磚網站:
從變壓器進口管道進口火炬instruct_pipeline =管道(=“磚/ dolly-v2-12b”模型,torch_dtype =火炬。bfloat16 trust_remote_code = True, device_map =“汽車”)
它似乎downding 24 g模型文件每次重新啟動集群。
下載(…)“pytorch_model.bin”;: 100% 23.8 - 23.8 g / g (02:39 < 00:00, 128 mb / s)
有沒有一種方法(和我在哪裏可以找到指令)來加載pytorch_model。本文件“本地”這不是下載它每次重新啟動集群?
附加的問題,什麼是體麵的集群配置測試出來?到目前為止我一直試圖與g4dn測試它。2xlarge (32gig, 1 gpu) with 12.2 lts ml (gpu) and it's telling me a CUDA out of memory error.
OutOfMemoryError: CUDA的內存。試圖分配492.00 MiB (GPU 0;14.76鑲條總容量;13.52直布羅陀海峽已經分配;483.75 MiB自由;總共13.53鑲條保留PyTorch)如果> >保留內存分配的內存設置max_split_size_mb避免碎片。為內存管理和PYTORCH_CUDA_ALLOC_CONF見文檔
@H T:我不會有一個特定的答案現在多莉,但我將給一個框架為你想想測試和試一試。
為了避免下載模型每次重新啟動集群,您可以上傳pytorch_model。本文件到你的磚工作區或雲存儲賬戶,然後加載它從那裏而不是使用默認的模式位置。你可以通過指定模型
參數上傳模型文件的路徑:
instruct_pipeline =管道(模型= " / / /地方/模型/ pytorch_model道路。本”,torch_dtype =火炬。bfloat16 trust_remote_code = True, device_map =“汽車”)
至於集群配置,這取決於您的數據的大小和模型的複雜性。出於測試目的,您可以從一個小實例規模和擴大。你也可以嚐試調整max_split_size_mb參數避免CUDA的內存錯誤。該參數控製每個張量的最大大小(MB)分裂。可以將其設置為一個較小的值減少內存使用,但這也可能減緩培訓。
@Suteja卡努裏人,
你好,
謝謝你的回應。我嚐試你的建議但是有一個錯誤
”
ValueError:以下“model_kwargs”模型:不使用(“max_split_size_mb”)(注:拚寫錯誤生成參數也將出現在這個列表)
”
特別我測試提供的演示數據磚(https://www.dbdemos.ai/llm-dolly-chatbot),我得到這個錯誤在03-Q&A-prompt-engineering-for-dolly build_qa_chain當管道被稱為()函數。
想法嗎?
額外的信息:
@Suteja卡努裏人更新——我能夠被升級到一個g4dn它工作。12個超大節點(4 gpu)。
然而,代碼02-Data-preparation sshleifer / distilbart-cnn-12-6模型申請總結任務失敗與更強大的節點(雖然它工作得很好,隻是一個GPU)。你有什麼建議嗎?
我將重新分區設置為4因為有4 gpu。docs_limit_df有4行。
torch.cuda.empty_cache史書()=管道(“摘要”=“sshleifer / distilbart-cnn-12-6”模型,device_map =“汽車”)docs_limit_df = docs_limit_df.repartition (4)。withColumn (“text_short summarize_all(“文本”))
我得到的誤差
“PythonException:‘RuntimeError:預期的張量在相同的設備,但發現至少有兩個設備,cuda: 2和cuda: 0 !”,從<命令- 434574176370212 >,8號線。回溯如下:”