You can set te Upload and Download in each profile, this profile must be associated in te pppoe secret of the user, then when the user log in a dynamic queue will be created limiting upload and download that you specified in the profile.
Example:
This profile set 128k upload and 256k download
/ ppp profile
add name="profile1" local-address=10.10.128.1 use-compression=default use-vj-compression=default use-encryption=default only-one=default change-tcp-mss=default rate-limit=128k/256k dns-server=200.51.211.7 comment=""
This is the client associated at the "profile1"
/ ppp secret
add name="ppp1" service=pppoe caller-id="" password="321321" profile=profile1 remote-address=10.5.56.1 routes="" limit-bytes-in=0 limit-bytes-out=0 comment="" disabled=no
yes ok but the problem is the same