$ cd /workspace
$ python3
Python 3.8.10 (default, May 26 2023, 14:05:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.makedirs("output")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: 'output'
π Bug
There are multiple issues getting the latest LLM Studio working in Runpod.
gcr.io/vorvan/h2oai/h2o-llmstudio:nightly
gcr.io/vorvan/h2oai/h2o-llmstudio@sha256:8c3c86d0e2721c35803924ee6005ccf0ebd8bc3b2568bdca5ca5d202b2074a1c
(before #163 )Root cause
163 and Runpod does not appear to have a way to add to
docker
call:so we need workarounds.
Workaround
The following template uses an older Docker image of LLM Studio and therefore works.
gcr.io/vorvan/h2oai/h2o-llmstudio@sha256:8c3c86d0e2721c35803924ee6005ccf0ebd8bc3b2568bdca5ca5d202b2074a1c
(before #163 )To Reproduce
Expose TCP Ports:
10101
/home/llmstudio/huggingface-cache/hub
/home/llmstudio/huggingface-cache/datasets
/home/llmstudio/huggingface-cache/hub
/home/llmstudio/huggingface-cache/hub
/workspace
is not writableTo Reproduce / Runpod template:
/workspace
Env vars:/workspace
Symptom:
All of the files and directories in
/workspace
are owned byroot
while the user isllmstudio
:Fortunately, we can use
/home/llmstudio
directory instead which is owned byllmstudio
user:Workaround: use
/home/llmstudio
for theVolume Mount Path
, since it does have the necessary writable permissions.Now the page now loads!
os.makedirs("output")
does not use configuration so we receivePermission denied: 'output'
when creating experiment.Unfortunately, when trying to create an experiment we hit another blocker:
The
copy_config
does not respect theH2O_LLM_STUDIO_WORKDIR
: https://github.com/h2oai/h2o-llmstudio/blob/main/app_utils/utils.py#L1874-L1875To Reproduce:
/home/llmstudio
Env vars:/home/llmstudio
Symptom:
Logs after attempting to create an experiment show:
And I can reproduce:
More details coming as I learn more.