当blob已经存在且驱动器已满时,Ollama无法创建模型,

pxy2qtax  于 2个月前  发布在  其他
关注(0)|答案(5)|浏览(37)

问题是什么?

如果我尝试从一个引用现有blob的模型文件中创建模型,ollama(我认为)会在意识到已经存在并创建模型之前,将整个blob复制到一个临时文件。这使得模型导入变得非常耗时,并且意味着你需要在驱动器上腾出额外的空间来容纳两次模型。我希望它只是创建所需的元数据文件,然后让模型保持原样。

顺便说一下,应该有更好的方法来使用现有的模型,我一直在手动地通过将模型链接到blobs目录中的正确名称来使用它们,但导入过程仍然需要在弄清楚之前对模型进行完整复制。

操作系统:Windows

GPU:Nvidia

CPU:Intel

Ollama版本:0.1.47

ruyhziif

ruyhziif1#

看起来这种行为实际上即使文件不存在时也会发生。我正在运行ollama create,其中有一个模型文件引用了D:\model.gguf,Ollama将其模型保存在C上。在创建模型的transferring model data阶段,它短暂地占用了2倍于C的模型大小。

kokeuurv

kokeuurv2#

嘿,@thot-experiment,你能分享一下你正在运行的命令、使用的模型以及如何跟踪磁盘空间的更多细节吗?目前,我们在将模型写入models目录之前检查blob。你可以通过./ollama serve日志查看这一点。

[GIN] 2024/07/18 - 10:47:12 | 200 |     214.791µs |       127.0.0.1 | POST     "/api/blobs/sha256:cfce48ca57f022cd3676c0623dbc0feb387a043d403ed32b216d3fabd9e5c5ca"
[GIN] 2024/07/18 - 10:47:21 | 200 |  8.962061125s |       127.0.0.1 | POST     "/api/create"
[GIN] 2024/07/18 - 10:49:58 | 200 |      15.959µs |       127.0.0.1 | HEAD     "/"
[GIN] 2024/07/18 - 10:49:58 | 200 |    1.410667ms |       127.0.0.1 | GET      "/api/tags"
[GIN] 2024/07/18 - 10:50:02 | 200 |      16.709µs |       127.0.0.1 | HEAD     "/"
[GIN] 2024/07/18 - 10:50:02 | 200 |  271.763167ms |       127.0.0.1 | DELETE   "/api/delete"
[GIN] 2024/07/18 - 10:50:04 | 200 |          20µs |       127.0.0.1 | HEAD     "/"
[GIN] 2024/07/18 - 10:50:22 | 201 | 10.933092292s |       127.0.0.1 | POST     "/api/blobs/sha256:cfce48ca57f022cd3676c0623dbc0feb387a043d403ed32b216d3fabd9e5c5ca"
[GIN] 2024/07/18 - 10:50:31 | 200 |  8.937056334s |       127.0.0.1 | POST     "/api/create"

最初对blob的POST发现blob存在并使用它。在第二个情况中,201,由于我们在请求之前删除了它,所以复制了blob。

fgw7neuy

fgw7neuy3#

我正在使用“命令是否失败,因为我的磁盘空间不足”/“我会得到0磁盘空间吗”作为我的磁盘空间指标,并且我使用了ollama create model_name -f Modelfile,其中Modelfile以FROM ollamadir/models/blobs/sha256-00e832ab2a729f48c19...开头。

我认为这里可能出错的地方是奥拉马中的基准数据存储在某个数据库中,而不是磁盘上的文件。因此,如果奥拉马不知道这个文件,它就会盲目地进行复制过程,而不是看到文件存在并与sha匹配?

kgqe7b3p

kgqe7b3p4#

感谢您的回复。我们使用服务器上的文件(在您的情况下是磁盘上的文件)来检查blob是否存在。只有在您的模型目录中不存在具有匹配SHA的blob时,才会进行复制。您能否分享一下创建模型时的日志?您是否可以在创建模型之前和之后包括磁盘上模型目录的屏幕截图?这可能类似于\Users\____\.ollama\models\blobs

jdg4fx2g

jdg4fx2g5#

我们找到了这个bug的原因,感谢指出。这个PR应该能修复你的创建时间问题

相关问题