Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Apr 2023 04:19:00 -0400
From:      Aryeh Friedman <aryeh.friedman@gmail.com>
To:        Mario Marietto <marietto2008@gmail.com>
Cc:        FreeBSD Mailing List <freebsd-hackers@freebsd.org>,  FreeBSD Mailing List <freebsd-questions@freebsd.org>, Yuri Victorovich <yuri@freebsd.org>
Subject:   Re: Installing openAI's GPT-2 Ada AI Language Model
Message-ID:  <CAGBxaXnxvU7oKNVO8uZwLhFNQzzVSxkAuTUqWNjwJz_eyYDncA@mail.gmail.com>
In-Reply-To: <CA%2B1FSiiLEjNTXg5Nj-mxrV6n64gcSa0DXcu=U6a39Dz2fyQahA@mail.gmail.com>
References:  <CAGBxaXmhRLk9Lx_ZHeRdoN-K2fRLEhY3cBVtBymmAjd4bBh1OQ@mail.gmail.com> <CA%2B1FSihQ-f4uhiOjYH8Wo=AxFEkAKe3NRDJdopgT50J=_jY4fA@mail.gmail.com> <CAGBxaXnYojzQJqO62hkzUJvD2rzaNp%2Bem38FgCqVSBu%2BmkBi9A@mail.gmail.com> <CA%2B1FSijpiko%2B%2B%2BwJuXo2GVV6sz3yGVi7ig0X3037%2B1zE3n91hg@mail.gmail.com> <CAGBxaX=OcaHEZk3S7jQeYW64A_iRNTmJ%2Bab4U7h_hsrG%2BQqQPg@mail.gmail.com> <ZEEnZjzDCtR_ZG4P@graf.pompo.net> <CAGBxaXmU=Ja9EkoMyxQ0cNxYB4BeiktqQ3P64QcWg%2B=xijTiyQ@mail.gmail.com> <CA%2B1FSii6OOwi%2B%2Bau-_9ViU_SMZ%2BGbESG5H0McVTHQUwmMnOJGQ@mail.gmail.com> <CAGBxaXkhC--ZppimDFabEwPhesjAJmrziNZm753eoyjy1sWzqg@mail.gmail.com> <CA%2B1FSijsSSpCFeKeaOt4gR36BAZ4J8j4QSJRJa-VF-a=J9e2uw@mail.gmail.com> <CAGBxaXnEajP_NKdgDtreavm1Gz5jyLE8-jQBxM9ALX%2BQ9Cpidw@mail.gmail.com> <CA%2B1FSiiyg8An7HwZrJOd=cKh1%2BNC-FMzgaQNfiHP9fkwpgbAEg@mail.gmail.com> <CAGBxaXmnsAQwfeSjGT4K3M2oNvSTpXYfrErRt3UbMvxpCD4htw@mail.gmail.com> <CA%2B1FSiiLEjNTXg5Nj-mxrV6n64gcSa0DXcu=U6a39Dz2fyQahA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 21, 2023 at 8:31=E2=80=AFAM Mario Marietto <marietto2008@gmail.=
com> wrote:
>
> If you don't want to use the GPU,the commands should be more or less the =
following :
>
>
> sudo touch /usr/local/etc/rc.d/ubuntu && chmod +x /usr/local/etc/rc.d/ubu=
ntu
>
> # Make it have this content:
>
> #!/bin/sh
> #
> # PROVIDE: ubuntu
> # REQUIRE: archdep mountlate
> # KEYWORD: nojail
> #
> # This is a modified version of /etc/rc.d/linux
> # Based on the script by mrclksr:
> # https://github.com/mrclksr/linux-browser-installer/blob/main/rc.d/ubunt=
u.in
> #
> . /etc/rc.subr
>
> name=3D"ubuntu"
> desc=3D"Enable Ubuntu chroot, and Linux ABI"
> rcvar=3D"ubuntu_enable"
> start_cmd=3D"${name}_start"
> stop_cmd=3D":"
>
> unmounted()
> {
>     [ `stat -f "%d" "$1"` =3D=3D `stat -f "%d" "$1/.."` -a \
>       `stat -f "%i" "$1"` !=3D `stat -f "%i" "$1/.."` ]
> }
>
> ubuntu_start()
> {
>     local _emul_path _tmpdir
>
>     load_kld -e 'linux(aout|elf)' linux
>     case `sysctl -n hw.machine_arch` in
>     amd64)
>         load_kld -e 'linux64elf' linux64
>         ;;
>     esac
>     if [ -x /compat/ubuntu/sbin/ldconfigDisabled ]; then
>         _tmpdir=3D`mktemp -d -t linux-ldconfig`
>         /compat/ubuntu/sbin/ldconfig -C ${_tmpdir}/ld.so.cache
>         if ! cmp -s ${_tmpdir}/ld.so.cache /compat/ubuntu/etc/ld.so.cache=
; then
>             cat ${_tmpdir}/ld.so.cache > /compat/ubuntu/etc/ld.so.cache
>         fi
>         rm -rf ${_tmpdir}
>     fi
>
>     # Linux uses the pre-pts(4) tty naming scheme.
>     load_kld pty
>
>     # Handle unbranded ELF executables by defaulting to ELFOSABI_LINUX.
>     if [ `sysctl -ni kern.elf64.fallback_brand` -eq "-1" ]; then
>         sysctl kern.elf64.fallback_brand=3D3 > /dev/null
>     fi
>
>     if [ `sysctl -ni kern.elf32.fallback_brand` -eq "-1" ]; then
>         sysctl kern.elf32.fallback_brand=3D3 > /dev/null
>     fi
>     sysctl compat.linux.emul_path=3D/compat/ubuntu
>
>     _emul_path=3D"/compat/ubuntu"
>     unmounted "${_emul_path}/dev" && (mount -o nocover -t devfs devfs "${=
_emul_path}/dev" || exit 1)
>     unmounted "${_emul_path}/dev/fd" && (mount -o nocover,linrdlnk -t fde=
scfs fdescfs "${_emul_path}/dev/fd" || exit 1)
>     unmounted "${_emul_path}/dev/shm" && (mount -o nocover,mode=3D1777 -t=
 tmpfs tmpfs "${_emul_path}/dev/shm" || exit 1)
>     unmounted "${_emul_path}/home" && (mount -t nullfs /home "${_emul_pat=
h}/home" || exit 1)
>     unmounted "${_emul_path}/proc" && (mount -o nocover -t linprocfs linp=
rocfs "${_emul_path}/proc" || exit 1)
>     unmounted "${_emul_path}/sys" && (mount -o nocover -t linsysfs linsys=
fs "${_emul_path}/sys" || exit 1)
>     unmounted "${_emul_path}/tmp" && (mount -t nullfs /tmp "${_emul_path}=
/tmp" || exit 1)
>     unmounted /dev/fd && (mount -o nocover -t fdescfs fdescfs /dev/fd || =
exit 1)
>     unmounted /proc && (mount -o nocover -t procfs procfs /proc || exit 1=
)
>     true
> }
>
> load_rc_config $name
> run_rc_command "$1"
>
> sysrc ubuntu_enable=3DYES
>
> # Create necessary mount points for a working Linuxulator:
> mkdir -p {/compat/ubuntu/dev/fd,/compat/ubuntu/dev/shm,/compat/ubuntu/hom=
e,/compat/ubuntu/tmp,/compat/ubuntu/proc,/compat/ubuntu/sys}
>
> # Start Ubuntu service:
> service ubuntu start
>
> # Install needed packages:
> pkg install debootstrap pulseaudio
>
> # Install Ubuntu 20.04 into /compat/ubuntu:
> debootstrap --arch=3Damd64 --no-check-gpg focal /compat/ubuntu
>
> # Restart Ubuntu service to make sure everything is properly mounted:
> service ubuntu restart
>
> # Fix broken symlink:
> cd /compat/ubuntu/lib64/ && rm ./ld-linux-x86-64.so.2 ; ln -s ../lib/x86_=
64-linux-gnu/ld-2.31.so ld-linux-x86-64.so.2
>
> # Chroot into your Linux environment:
> chroot /compat/ubuntu /bin/bash
>
> # Set correct timezone inside your chroot:
> printf "%b\n" "0.0 0 0.0\n0\nUTC" > /etc/adjtime
> sudo dpkg-reconfigure tzdata # For some reason sudo is necessary here, ot=
herwise it fails.
>
> # Fix APT package manager:
> printf "APT::Cache-Start 251658240;" > /etc/apt/apt.conf.d/00aptitude
>
> # Enable more repositories:
> printf "deb http://archive.ubuntu.com/ubuntu/ focal main restricted unive=
rse multiverse" > /etc/apt/sources.list
>
> # Install required programs:
>
> apt update ; apt install -y apt-transport-https curl fonts-symbola gnupg =
pulseaudio build-essential gcc gfortran
>
> # Exit out of chroot
> exit
>
> # Fix x86_64-linux-gnu libraries path between ubuntu and freebsd
> cp -r /compat/ubuntu/usr/lib/x86_64-linux-gnu /lib
>
>
> --> Installing PyTorch and your chatgpt github fork on FreeBSD
>
>
> # fetch https://gist.githubusercontent.com/shkhln/40ef290463e78fb2b0000c6=
0f4ad797e/raw/f640983249607e38af405c95c457ce4afc85c608/uvm_ioctl_override.c
>
> # /compat/ubuntu/bin/gcc --sysroot=3D/compat/ubuntu -m64 -std=3Dc99 -Wall=
 -ldl -fPIC -shared -o dummy-uvm.so uvm_ioctl_override.c
>
> # pkg install linux-miniconda-installer
> # miniconda-installer
> # bash
> # source /home/marietto/miniconda3/etc/profile.d/conda.sh
> # conda activate
>
> (base) # conda activate pytorch
>
> (pytorch) # conda activate
>
> (base) # conda activate
>
> (base) # git clone your chatgpt github fork


I have done that I think and get:

(base) [babyspock@babyspock ~]$ python
src/generate_unconditional_samples.py --model_name 117M --nsamples 5
--length 512
python: can't open file
'/usr/opt/babySpock/src/generate_unconditional_samples.py': [Errno 2]
No such file or directory
(base) [babyspock@babyspock ~]$ cd gpt-2/
(base) [babyspock@babyspock ~/gpt-2]$ python
src/generate_unconditional_samples.py --model_name 117M --nsamples 5
--length 512
2023-04-22 00:17:18.661083: I tensorflow/tsl/cuda/cudart_stub.cc:28]
Could not find cuda drivers on your machine, GPU will not be used.
2023-04-22 00:17:18.710468: I tensorflow/tsl/cuda/cudart_stub.cc:28]
Could not find cuda drivers on your machine, GPU will not be used.
2023-04-22 00:17:18.710951: I
tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow
binary is optimized to use available CPU instructions in
performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations,
rebuild TensorFlow with the appropriate compiler flags.
2023-04-22 00:17:19.429409: W
tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning:
Could not find TensorRT
Traceback (most recent call last):
  File "/usr/opt/babySpock/gpt-2/src/generate_unconditional_samples.py",
line 9, in <module>
    import model, sample, encoder
  File "/usr/opt/babySpock/gpt-2/src/model.py", line 3, in <module>
    from tensorflow.contrib.training import HParams
ModuleNotFoundError: No module named 'tensorflow.contrib'


>
>
> On Fri, Apr 21, 2023 at 1:34=E2=80=AFPM Aryeh Friedman <aryeh.friedman@gm=
ail.com> wrote:
>>
>> On Fri, Apr 21, 2023 at 6:40=E2=80=AFAM Mario Marietto <marietto2008@gma=
il.com> wrote:
>> >
>> > You don't need bhyve to make that,but only the Linuxulator. I don't th=
ink the type of cpu will make any difference. I've used the Intel I9 cpu. I=
 tried FreeBSD 13.1 and I haven't found problems. For sure using python env=
 is tricky,but if you have the thinkering attitude,you will have some fun.
>>
>> I already have a VM allocated on it (the same host has 3 other VM's on
>> it).   I guess that is one thing I missed was the linuxulator (the
>> linsuckslator is more like it) and as far tinkering goes it is fine to
>> a point but not when it has taken *DAYS* away from paying projects (I
>> am a freelancer).
>>
>> BTW I will be trying your specific command lines tomorrow (I must get
>> back to paid work).
>>
>> P.S. The point of this project is to start a new project called
>> babySpock that is a personal assistant for me and my programming
>> partner/wife in all but legal detail.  babySpock will hopefully be
>> able to help with pair programming/design brainstorming, general
>> clerical office tasks, be a halfway decent conversation partner
>> (roughly on or near the level of chatGPT which inspired this project
>> in the first place in order to increase the amount of "context" that
>> it could store and to slice and dice context as needed to feed the
>> more expensive models just relevant context as well use multiple
>> models.... basically a DIY hobbyist AM (artificial mind with the final
>> goal being artificial mature minds [AMM] instead of AGI due to the
>> rule making paradox) lab that has to "earn its own way in life" (i.e.
>> if it is not useful it will likely die from misuse).
>>
>> >
>> > On Fri, Apr 21, 2023 at 12:26=E2=80=AFPM Aryeh Friedman <aryeh.friedma=
n@gmail.com> wrote:
>> >>
>> >> The more I am fighting with it in linux (only thing there is docs for=
)
>> >> the more obvious it just doesn't work on
>> >>
>> >> On Fri, Apr 21, 2023 at 6:19=E2=80=AFAM Mario Marietto <marietto2008@=
gmail.com> wrote:
>> >> >
>> >> > Can't you install pytorch using the linux miniconda installer like =
below ?
>> >> >
>> >> > # fetch https://gist.githubusercontent.com/shkhln/40ef290463e78fb2b=
0000c60f4ad797e/raw/f640983249607e38af405c95c457ce4afc85c608/uvm_ioctl_over=
ride.c
>> >> >
>> >> > # /compat/ubuntu/bin/gcc --sysroot=3D/compat/ubuntu -m64 -std=3Dc99=
 -Wall -ldl -fPIC -shared -o dummy-uvm.so uvm_ioctl_override.c
>> >> >
>> >> > # pkg install linux-miniconda-installer
>> >> > # miniconda-installer
>> >> > # bash
>> >> > # source /home/marietto/miniconda3/etc/profile.d/conda.sh
>> >> > # conda activate
>> >> >
>> >> > (base) # conda activate pytorch
>> >> >
>> >> Will this work a bhyve on an AMD Ryzen 5 host?   After playing with i=
t
>> >> in several linux instances I always get stuck when it can't find a
>> >> compatible version
>> >>
>> >> --
>> >> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>> >
>> >
>> >
>> > --
>> > Mario.
>>
>>
>>
>> --
>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>
>
>
> --
> Mario.



--=20
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGBxaXnxvU7oKNVO8uZwLhFNQzzVSxkAuTUqWNjwJz_eyYDncA>